使用dockerfile 构建自己的centos 系统

大家好,今天我们使用dockerfile 构建自己的centos 系统

看一下这个官网上centos 原生镜像

在这里插入图片描述

复制下来:

FROM scratch
ADD centos-7-x86_64-docker.tar.xz /

LABEL \
    org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20201113" \
    org.opencontainers.image.title="CentOS Base Image" \
    org.opencontainers.image.vendor="CentOS" \
    org.opencontainers.image.licenses="GPL-2.0-only" \
    org.opencontainers.image.created="2020-11-13 00:00:00+00:00"

CMD ["/bin/bash"]

在官网上的大多数镜像都是基于scratch 这个东西

查看本地镜像(这里建议使用centos7系统 ,默认最新的centos8镜像相关的网络源有问题)

[root@localhost ~]# docker images

在这里插入图片描述

运行启动我们原先的centos7.9容器

[root@localhost ~]# docker run -it centos:7.9.2009  /bin/bash
[root@298bee7d20b0 /]# 

写自己的centos

创建目录:

[root@localhost home]# mkdir dockerfile
[root@localhost home]# cd dockerfile/
[root@localhost dockerfile]# vim dockerfile-mycentos

原生的centos 镜像很单调,没有vim 命令

[root@298bee7d20b0 /]# vim 
bash: vim: command not found
[root@298bee7d20b0 /]# 

无法查看IP地址

[root@298bee7d20b0 /]# ifconfig
bash: ifcomfig: command not found
[root@298bee7d20b0 /]# 

写dockerfile文件

[root@localhost home]# cd dockerfile/
[root@localhost dockerfile]# vim dockerfile-mycentos

这是它的dockerfile文件内容

FROM centos:7.9.2009
#依托于centos:7.9.2009做基础镜像
MAINTAINER shuaige<123456.qq.com>
#  这是作者信息,可以随便写
ENV MYPATH /tmp
#指定容器运行时的环境变量
WORKDIR $MYPATH
#镜像的工作目录
RUN yum -y install vim
#运行指令(安装vim)
RUN yum -y install net-tools
#运行指令(安装 net-tools)
EXPOSE 80
#保留端口配置80 端口
CMD echo $MYPATH
CMD echo "success---------ok"
CMD /bin/bash

打包成新的镜像

[root@localhost dockerfile]# docker build -f dockerfile-mycentos -t mycentos:0.1 .
Sending build context to Docker daemon  2.048kB
Step 1/10 : FROM centos:7.9.2009
 ---> eeb6ee3f44bd
Step 2/10 : MAINTAINER zzyy<zzyy@126.com>
 ---> Running in 1ff92bc1b164
Removing intermediate container 1ff92bc1b164
 ---> 51b30a3a47d4
Step 3/10 : ENV MYPATH /tmp
 ---> Running in b7fa138f873a
Removing intermediate container b7fa138f873a
 ---> 302085fae2f9
Step 4/10 : WORKDIR $MYPATH
 ---> Running in 139d84c578f1
Removing intermediate container 139d84c578f1
 ---> ae3ae6615556
Step 5/10 : RUN yum -y install vim
 ---> Running in 02ba54621929
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.nju.edu.cn
 * extras: mirrors.cn99.com
 * updates: mirrors.nju.edu.cn
http://mirrors.cn99.com/centos/7.9.2009/extras/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 502 - Bad Gateway
Trying other mirror.
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.629-8.el7_9 will be installed
--> Processing Dependency: vim-common = 2:7.4.629-8.el7_9 for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: which for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: libgpm.so.2()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Running transaction check
---> Package gpm-libs.x86_64 0:1.20.7-6.el7 will be installed
---> Package perl.x86_64 4:5.16.3-299.el7_9 will be installed
--> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl-macros for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16</
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
Dockerfile是用于构建Docker镜像的文本文件。根据引用\[1\]和引用\[2\]的内容,你可以使用两种不同的模式来构建一个centos镜像。 在exec模式下,你可以使用以下Dockerfile构建centos镜像: ``` FROM centos:7 CMD \["echo","$HOME"\] ``` 然后使用以下命令构建镜像: ``` docker build -t centos:ydq . ``` 在shell模式下,你可以使用以下Dockerfile构建centos镜像: ``` FROM centos:7 CMD \["sh","-c","echo $HOME"\] ``` 然后使用以下命令构建镜像: ``` docker build -t centos:ydq2 . ``` 请注意,这两种模式下的Dockerfile都是基于centos:7镜像构建的,并使用CMD指令来定义容器启动时要执行的命令。你可以根据自己的需求选择使用哪种模式来构建centos镜像。 #### 引用[.reference_title] - *1* *2* [docker:dockerfile构建镜像](https://blog.csdn.net/qq_69278945/article/details/127461465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Dockerfile构建镜像](https://blog.csdn.net/gcc001224/article/details/125864815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思诚代码块

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值