不使用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 容器名让容器中拥有一张新的网卡
相关推荐
晓柏3 小时前
Docker 部署 ELK 日志收集系统
docker
liang89993 小时前
Docker(二):docker常用命令
spring cloud·docker·容器
启明真纳5 小时前
统信操作系统使用默认yum源安装 Docker 的踩坑
运维·docker·容器
lee_yanyi5 小时前
《一键式江湖:Docker Compose中间件部署108式》开篇:告别“配置地狱”,从此笑傲云原生武林!》
docker·云原生·中间件
weisian1516 小时前
云原生--核心组件-容器篇-1-Docker和云原生关系(Docker是云原生的基石)
docker·云原生·容器
David爱编程6 小时前
Service 与 Headless Service 全面对比与实战指南
docker·容器·kubernetes
菠萝崽.11 小时前
安装docker,在docker上安装mysql,docker上安装nginx
java·mysql·nginx·docker·软件工程·springboot·开发
leo·Thomas18 小时前
Rundeck 介绍及安装:自动化调度与执行工具
docker·自动化·运维工具·rundeck
技术liul19 小时前
Docker Compose和 Kubernetes(k8s)区别
docker·容器·kubernetes