从零制作一个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:/# 
相关推荐
xyz59912 分钟前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
H_老邪16 分钟前
什么是云原生?
云原生
linux修理工18 分钟前
Claude code与CC-switch安装使用
运维·人工智能
小叶lr22 分钟前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
Agent产品评测局26 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
亚空间仓鼠40 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
AI成长日志2 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
2301_780789662 小时前
零信任架构在云安全落地过程中的最佳实践
服务器·人工智能·游戏·架构·零信任
虚伪的空想家2 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes