不使用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 容器名让容器中拥有一张新的网卡
相关推荐
sbjdhjd2 小时前
Docker | 核心概念科普 + 保姆级部署
linux·运维·服务器·docker·云原生·面试·eureka
摇滚侠2 小时前
Vmvare 虚拟机安装 Linux CentOS 7 操作系统 一键安装 Docker 1Panel 一键安装 MySQL Redis OpenClaw
linux·docker·centos
comedate3 小时前
【OpenClaw】 Open-WebUI Docker 部署连接本地 Ollama 技术文档
docker·ollama·openwebui·openclaw
川trans3 小时前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践
mysql·docker·kubernetes
BullSmall3 小时前
Prometheus 可以监控docker 部署的Nginx 吗?
nginx·docker·prometheus
阿沁QWQ3 小时前
Docker 核心技术和实现原理
运维·docker·容器
Tom Ma.4 小时前
Docker 安装 OpenClaw
运维·docker·容器
LoneEon4 小时前
Kubernetes高可用集群部署教程
linux·docker·kubernetes
iuu_star4 小时前
Dify网址打不开-解决方案
docker
翱翔-蓝天6 小时前
WSL + Docker + GPU 安装 video-subtitle-remover 完整文档
运维·docker·容器