从零制作一个ubuntu的docker镜像

上次分享了一下怎么制作centos的镜像,今天给大家分享一下ubuntu的制作方法。

准备ubuntu环境

如果你有Ubuntu环境的话最好,可以直接打包,我用的是CentOS系统,所以需要借助debootstrap工具。

bash 复制代码
yum -y install epel-release
yum -y install debootstrap

mkdir ~/ubuntu-root
debootstrap --arch=amd64 focal ~/ubuntu-root http://archive.ubuntu.com/ubuntu/

[root@bogon ]# ls ~/ubuntu-root/
bin   dev  home  lib32  libx32  mnt  proc  run   srv  tmp  var
boot  etc  lib   lib64  media   opt  root  sbin  sys  usr

制作ubuntu镜像

bash 复制代码
mkdir ubuntu
cd ubuntu
mv ~/ubuntu-root .

cat > Dockerfile << EOF
FROM scratch
ADD ubuntu-root/ /
CMD ["/bin/bash"]
EOF

docker build -t ubuntu .

[root@bogon ubuntu]# docker build -t ubuntu .
[+] Building 0.3s (5/5) FINISHED                                     docker:default
 => [internal] load build definition from Dockerfile                           0.0s
 => => transferring dockerfile: 87B                                            0.0s
 => [internal] load .dockerignore                                              0.0s
 => => transferring context: 2B                                                0.0s
 => [internal] load build context                                              0.3s
 => => transferring context: 1.08MB                                            0.3s
 => CACHED [1/1] ADD ubuntu-root/ /                                            0.0s
 => exporting to image                                                         0.0s
 => => exporting layers                                                        0.0s
 => => writing image sha256:80026197be11ccce07f1be9707d39540bc4fda056b6119d6d  0.0s
 => => naming to docker.io/library/ubuntu                                      0.0s

测试

bash 复制代码
[root@bogon ~]# docker run -it --rm ubuntu bash
root@25befe3b3054:/# 
相关推荐
_OP_CHEN13 小时前
【Git原理与使用】(一)告别文件混乱!Git 初识:从版本灾难到高效管理的终极方案
linux·运维·git·github·运维开发·版本控制·企业级组件
装不满的克莱因瓶13 小时前
【Java架构 搭建环境篇三】Linux安装Git详细教程
java·linux·运维·服务器·git·架构·centos
博语小屋14 小时前
线程同步与条件变量
linux·jvm·数据结构·c++
wanhengidc14 小时前
云手机深度解析其原理与功能
服务器·科技·游戏·智能手机
源代码•宸14 小时前
分布式缓存-GO(项目整体架构简介、Ubuntu 22.04 64位安装GoLang、安装Docker、解决Go module 的依赖问题)
经验分享·分布式·后端·ubuntu·缓存·docker·golang
黑客思维者14 小时前
突破 Python 多线程限制:GIL 问题的 4 种实战解法
服务器·数据库·python·gil
至善迎风14 小时前
Linux 服务器安全防护工具完全指南
linux·服务器·安全·防火墙
MC皮蛋侠客14 小时前
Linux安装go及环境配置教程
linux·运维·golang
满天点点星辰14 小时前
Linux命令大全-find命令
linux·运维·服务器
Henry Zhu12314 小时前
VPP中FIB(转发信息库)和VRF(虚拟路由转发)详解:从设计理念到实际应用
网络·计算机网络·云原生·云计算·智能路由器