ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

如何搭建完整的docker版ubuntu

2021-09-21 23:35:35  阅读:265  来源: 互联网

标签:容器 ubuntu 镜像 docker main multiverse 搭建


目录

0x01 前面的碎碎念

最近社团的服务器重新装了系统,学长装的CTFd被清空了,我要重新装一次。老师还说服务器要给他们实验室做实验用,让我小心点,别搞坏了(手动捂脸)。于是我就决定将整个平台在本机docker里操作,然后打包到服务器上,这样到时候出了问题也怪不到我。

其实这次搭建还是有点野心的,我想实现XCTF那种动态发放容器的功能。这个可能得后面再更新了。

0x02 docker安装

装docker是好久之前装的了,也没什么坑,网上的教程都有,就不演示了。这里推荐菜鸟教程的docker教程,个人认为docker基础用法,这个网站是相对比较完整而且翻译比较好的。

Docker 教程 | 菜鸟教程

0x03 镜像拉取与容器构建

因为需要完整的操作系统,所以选择了linux,而我自己本身也是用的kali,所以就选择了用的更顺手的ubuntu。默认是最新版本(20.04 LTS),直接

docker pull ubuntu

这里可以选择更换docker国内镜像源加速,如果出现连接失败或者下载速度过慢,可以尝试更换。

因为需要使用这个系统进行LAMP开发,所以不能使用docker自带的端口通信,将不同容器链接(比如菜鸟演示的单独下载nginx和php,并链接起来),实际上,我认为直接使用虚拟系统操作比端口通信更简单(我是懒狗,我摊牌了)
下载后会得到一个镜像ID,使用docker images可以查看所有镜像。
以后调用这个镜像,可以使用直接名字ubuntu,默认使用tag:latest,或者可以使用ID调用。这里说个小技巧,在不会出现歧义的情况下,所有的ID都可以只写前两位。
docker run -dit fb docker run -dit ubuntu
换言之,这两种方法是等效的。
解释一下参数

-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

构建镜像后,还需要启动和链接
docker start xx(容器ID) docker attach xx(容器ID)
此时成功进入虚拟机系统。

0x04一些镜像配置

非最小化

需要对系统进行非最小化处理,否则会出现各种依赖错误。这里只需要一行命令

unminimize

这个脚本是系统内置的,在终端输入这行命令一路y就行了。

换源(非必需)

换源的目的是为了加速下载,后面下载的东西多,如果不换的话速度太慢了,但是如果你觉得麻烦可以省去这一步。
在更改sourse.list之前还需要下载CA证书,否则无法换源
使用命令

apt install ca-certificates

因为没有vim,所以只能使用echo进行简单处理。换源前备份一下

cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse -> /etc/apt/sources.list

输入以下命令

apt update
apt upgarde
apt install vim

下载vim,然后将这个复制到sources.list里

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

0x05打包镜像

到这里可以暂时停止打包一下镜像,如果后面出了问题也方便版本回滚image

docker commit 容器id 容器名字:容器标签

-a是标注作者,写不写都行。

今天就写到这,有时间再更

标签:容器,ubuntu,镜像,docker,main,multiverse,搭建
来源: https://www.cnblogs.com/kofi/p/15318223.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有