制作一个ubuntu20.04的docker镜像
一、先下载一个ubuntu20.04的最小系统
- 执行指令:
sudo debootstrap --variant=minbase focal /home/test/tmp/ubuntu http://cn.archive.ubuntu.com/ubuntu
可替换:路径
/home/test
,源http://cn.archive.ubuntu.com/ubuntu
- 现在,在对应的路径下就有一个最小系统了。

二、可以在最小系统中做一些自适应的配置了
- 比如更新源列表:
./etc/apt/sources.list
- 比如安装一些github上的库,放到最小系统的目录中去
三、进入到系统中做一些库的安装
- 执行:
sudo chroot $ubuntu_dir /bin/bash
,其中$ubuntu_dir
是目录的位置,比如/home/test/tmp/ubuntu

- 执行一些安装工具的命令,比如
apt install -y net-tools
四、打包系统镜像给docker使用
-
打包
sudo tar -czf ubuntu.tar.gz ./tmp/ubuntu
-
导入镜像:
docker import ubuntu.tar.gz
image_name
- image_name为镜像名

现在已经有这个镜像了。
五、启动+后台运行
- 执行:
docker run -itd --name 容器名 镜像名 /bin/bash
- 执行:
docker ps -a
可以看到它已经在后台运行了 - 执行:
docker exec -it
容器名 bash 可以进入到其中
六、 再添加一张网卡
- 我们的电脑上有一张名叫docker0的网卡,进而我们的容器也都在此基础上诞生了各自的网卡,分配了各自的ip
电脑:

容器内:

-
我想再搞一张网卡,做成拥有双网卡的容器,所以要在自己的电脑新建一张类似docker0的docker网桥
docker network create -d bridge --subnet 192.168.1.0/24 --gateway 192.168.1.254 网卡名
- 此时执行
docker network ls
就可以看到我们新建的类型为bridge
的网卡 docker network connect 网卡名 --ip 192.168.1.1 容器名
让容器中拥有一张新的网卡