不使用dockerfile的方式制作一个Ubuntu20.04的镜像

制作一个ubuntu20.04的docker镜像

一、先下载一个ubuntu20.04的最小系统

  1. 执行指令:sudo debootstrap --variant=minbase focal /home/test/tmp/ubuntu http://cn.archive.ubuntu.com/ubuntu

可替换:路径/home/test,源http://cn.archive.ubuntu.com/ubuntu

  1. 现在,在对应的路径下就有一个最小系统了。

二、可以在最小系统中做一些自适应的配置了

  1. 比如更新源列表:./etc/apt/sources.list
  2. 比如安装一些github上的库,放到最小系统的目录中去

三、进入到系统中做一些库的安装

  1. 执行:sudo chroot $ubuntu_dir /bin/bash,其中$ubuntu_dir 是目录的位置,比如/home/test/tmp/ubuntu
  1. 执行一些安装工具的命令,比如apt install -y net-tools

四、打包系统镜像给docker使用

  1. 打包sudo tar -czf ubuntu.tar.gz ./tmp/ubuntu

  2. 导入镜像:docker import ubuntu.tar.gz image_name

    1. image_name为镜像名

现在已经有这个镜像了。

五、启动+后台运行

  1. 执行:docker run -itd --name 容器名 镜像名 /bin/bash
  2. 执行:docker ps -a 可以看到它已经在后台运行了
  3. 执行:docker exec -it 容器名 bash 可以进入到其中

六、 再添加一张网卡

  1. 我们的电脑上有一张名叫docker0的网卡,进而我们的容器也都在此基础上诞生了各自的网卡,分配了各自的ip

电脑:

容器内:

  1. 我想再搞一张网卡,做成拥有双网卡的容器,所以要在自己的电脑新建一张类似docker0的docker网桥

    1. docker network create -d bridge --subnet 192.168.1.0/24 --gateway 192.168.1.254 网卡名
    2. 此时执行docker network ls就可以看到我们新建的类型为bridge的网卡
    3. docker network connect 网卡名 --ip 192.168.1.1 容器名让容器中拥有一张新的网卡
相关推荐
唯情于酒21 小时前
Docker学习
学习·docker·容器
喵叔哟21 小时前
20.部署与运维
运维·docker·容器·.net
德育处主任1 天前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
运维栈记1 天前
虚拟化网络的根基-网络命名空间
网络·docker·容器
Hellc0071 天前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe1 天前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです1 天前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任1 天前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Mr. Cao code1 天前
Docker数据管理:持久化存储最佳实践
java·docker·容器