不使用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 容器名让容器中拥有一张新的网卡
相关推荐
江湖有缘8 小时前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
Kevin Wang72712 小时前
Nvidia-AGX-spark部署手册——课堂质量诊断(jetpack:r36)
python·docker·容器
回眸不遇15 小时前
将 Docker虚拟磁盘文件ext.vhdx迁移出C盘 ,更换到D盘
c语言·docker·容器
潘正翔16 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower16 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
流星白龙17 小时前
【Docker】3.Docker 组件与生产应用
docker
江湖有缘17 小时前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
流星白龙18 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker
Python私教19 小时前
GitHub Actions 实战:把测试、密钥扫描与 Docker 镜像检查接入 CI
ci/cd·docker·github·devsecops·github actions
面对疾风叭!哈撒给19 小时前
Linux ARM架构的docker和docker-compose离线安装
linux·docker·架构