Docker教程之dockerfile构建centos镜像

 更新时间:2022年11月23日 08:33:18   作者:甜点cc  
这篇文章主要介绍了Docker教程之dockerfile构建centos镜像的相关资料,需要的朋友可以参考下

构建自己的centos镜像

docker pull centos下载下来的镜像都是基础版本,缺少很多常用的命令功能,比如:llvim等等,

下面介绍制作一个功能较全的自己的centos镜像。

步骤

1、编写dockerfile文件

FROM centos
MAINTAINER xiao<example@163.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim       # vim命令
RUN yum -y install net-tools # ifconfig命令

EXPOSE 80
CMD echo $MYPATH
CMD echo "---end--"
CMD /bin/bash 

2、构建镜像

-f file 指定dockerfile文件的路径

-t tag 指定name:tag

docker build -f ./mydockerfile -t mycentos:0.1 .

Successfully built e7527f97f78a
Successfully tagged mycentos:0.1

3、测试运行

docker images
docker run -it mycentos:0.1

可以看到进入容器之后,直接就是在 /usr/local 目录下,是因为dockerfile配置的WORKDIR

这时,ifconfigvim命令都可以使用了

4、查看镜像构建历史记录

docker history imageID

CMD和ENTRYPOINT的区别

编写CMD测试dockerfile文件

编写dockerfile文件

FROM centos
CMD ["ls", "-a"]

构建镜像

docker build -f ./dockerfile -t cmd-test .

启动镜像

docker run imageID/iamgeName

测试发现,启动镜像时追加的命令替换了CMD命令,如下图所示:

编写ENTRYPOINT测试dockerfile文件

每个Dockerfile只能有一个ENTRYPOINT,如果指定了多个,只有最后一个被执行,而且一定会被执行

FROM centos
ENTRYPOINT ["ls", "-a"]
# nginx 镜像
ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]

总结 CMD命令会被启动容器时追加的命令替换执行,

2.ENTRYPOINT命令不会被启动容器时追加的命令替换,而是合并执行

到此这篇关于Docker教程之dockerfile构建centos镜像的文章就介绍到这了,更多相关dockerfile构建centos镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker build运行报错source: not found解决分析

    docker build运行报错source: not found解决分析

    这篇文章主要为大家介绍了docker build运行报错source: not found解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • idea集合docker实现镜像打包一键部署

    idea集合docker实现镜像打包一键部署

    这篇文章主要介绍了idea集合docker实现镜像打包一键部署
    2021-02-02
  • docker run容器运行的方法实现

    docker run容器运行的方法实现

    本文主要介绍了docker run容器运行的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 两台互通的服务器使用Docker部署一主两从MySQL8.0.35的方法

    两台互通的服务器使用Docker部署一主两从MySQL8.0.35的方法

    本文主要介绍了在两台服务器上使用Docker部署一主两从的MySQL 8.0.35架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • 解决docker修改mysql配置文件的问题

    解决docker修改mysql配置文件的问题

    今天在用docker启动一个5.7的数据库在建表时候遇到一个问题,但是很快就解决了,下面小编给大家讲解下docker怎么修改mysql内部的配置,感兴趣的朋友跟随小编一起看看吧
    2022-10-10
  • 详解如何使用Docker-Compose命令

    详解如何使用Docker-Compose命令

    这篇文章主要介绍了详解如何使用Docker-Compose命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 以示例讲解Clickhouse Docker集群部署以及配置

    以示例讲解Clickhouse Docker集群部署以及配置

    这篇文章主要介绍了Clickhouse Docker集群部署及配置,示例讲解的非常详细,希望可以帮助到有需要的小伙伴
    2021-08-08
  • docker容器设置时区的几种方式小结

    docker容器设置时区的几种方式小结

    Docker的基础镜像设置大多是Etc/UTC,也就是标准的UTC 时间,所以要简单的调整一下,本文主要介绍了docker容器设置时区的几种方式小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • 使用YUM 安装 docker的方法步骤

    使用YUM 安装 docker的方法步骤

    这篇文章主要介绍了使用YUM 安装 docker的方法,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Docker实现同Ip网段联通的实现

    Docker实现同Ip网段联通的实现

    这篇文章主要介绍了Docker实现同Ip网段联通的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12

最新评论