资讯专栏INFORMATION COLUMN

Docker构建自定义镜像指南

3119555200 / 436人阅读

一   了解Docker 镜像


1.1  Docker 镜像是什么


Docker 镜像不仅提供容器运行时所需文件,还包含了一些配置参数。镜像内容在构建之后也不会被改变,只有有了镜像才能启动容器


1.1  自定义镜像有哪些好处


Dockerfile 可以快速帮助我们构建自己的定制镜像


1.3  如何构建自己的Centos


第一步


通过编写 Dockerfile 文件来制作Centos 镜像,添加 vim、net-tools文件


第二步


新建一个dockerfile文件,在这个文件下新建mydockerfile-centos


dockerfile


cd /home
mkdir dockerfile


mydockerfile-centos


FROM centos:centos7
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "--- end ---"
CMD /bin/bash


第三步


查看编写的文件,编译刚刚写好的centos7


1.png


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


1.png


第四步


等待编译完成,完成后运行镜像


docker run -it mycentos:0.1


vim 文件


vim test
pwd


查看ifconfig


1.png


查看历史操作


docker history 2c2feb50d12c


1.png


二  RUN、CMD和ENTRYPOINT

2.1  RUN命令与CMD命令的区别


·  RUN命令


RUN命令在Image 文件的构建阶段执行,执行结果会打包进入image文件,


·  CMD命令


CMD命令则是在容器启动后执行


一个Dockerfile可以包含多个RUN命令,但只能由一个CMD命令



2.2  CMD和ENTRYPOINT命令的区别


·  CMD


运行的命令只有最后一个会生效


· ENRTYPOINT


运行的命令可以追加CMD命令


CMD命令


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


1.png


编译并执行文件


docker build -f dockerfile-cmd-test -t cmdtest .
docker run f74776bf8b3c


2.png


追加命令查看全部文件目录


docker run f74776bf8b3c -l


3.png


再次执行查看全部文件目录命令


docker run f74776bf8b3c ls -al


4.png


ENTRYPOINT命令


dockerfile 目录下新建文件测试ENTRYPOINT,写入已下内容


cd /home/dockerfile
vim dockerfile-entrypoint
FROM centos:centos7
ENTRYPOINT ["ls", "-a"]


1.png


编译文件并执行容器


docker build -f dockerfile-entrypoint
docker run 29891c9ff3c9


2.png


追加命令


docker run 29891c9ff3c9 -l


3.png



文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127628.html

相关文章

  • Node.js 指南Docker化Node.js Web应用程序)

    摘要:化应用程序此示例的目的是向你展示如何将应用程序放入容器中,该指南旨在用于开发,而不用于生产部署,本指南还假设你有一个有效的安装,并且基本了解应用程序的结构。 Docker化Node.js Web应用程序 此示例的目的是向你展示如何将Node.js应用程序放入Docker容器中,该指南旨在用于开发,而不用于生产部署,本指南还假设你有一个有效的Docker安装,并且基本了解Node.js应...

    李世赞 评论0 收藏0
  • 在Kubernetes上部署和伸缩Jenkins

    摘要:在本教程中,我们将使用在上部署和伸缩。它主要用来帮助操作人员部署伸缩更新和维护服务,以及提供服务发现机制来管理节点集群上的容器化应用程序。代理则使用,网络启动协议启动,因此容器能够在启动和运行之后自动连接到。账户我们将在上部署集群。 在本教程中,我们将使用Rancher在Kubernetes上部署和伸缩Jenkins。按照本文的步骤一步步来,你将会使用到我们用来测试实际构建作业的mas...

    Pines_Cheng 评论0 收藏0
  • 使用HeheCloud快速部署一个Wordpress应用

    摘要:能够帮助您快速构建一个基于容器的高可用弹性集群环境。并且帮助您轻松的部署和管理应用快速的集成更多的服务。 HeheCloud 能够帮助您快速构建一个基于容器的高可用弹性集群环境。并且帮助您轻松的部署和管理应用、快速的集成更多的服务。 您可以使用三种不同的方式来构建应用: Heroku Buildpack: 适用于 Heroku 风格的应用 Dockerfile: 基于你所选择的基础 ...

    pf_miles 评论0 收藏0
  • 30 分钟快速入门 Docker 教程

    摘要:分钟快速入门教程一欢迎来到世界与虚拟化在没有的时代,我们会使用硬件虚拟化虚拟机以提供隔离。仓库分为公开仓库和私有仓库,最大的公开仓库是官方仓库,国内的公开仓库也有很多选择,例如阿里云等。 30 分钟快速入门 Docker 教程 一、欢迎来到 Docker 世界 1. Docker 与虚拟化 在没有 Docker 的时代,我们会使用硬件虚拟化(虚拟机)以提供隔离。这里,虚拟机通过在操作系...

    LucasTwilight 评论0 收藏0
  • 【云主机 UHost】操作指南:[镜像]定义镜像、使用Packer创建定义镜像并导入本地镜像

    摘要:云主机自定义镜像制作镜像选中要制作镜像的主机,然后点击制作镜像按钮。镜像的适用机型限制传承自改自定义镜像的母镜像。如下图所示,通过在中集成等工具,制作包含各类软件的不可变镜像,供多云平台的云主机等使用。云主机UHost自定义镜像制作镜像选中要制作镜像的主机,然后点击制作镜像按钮。填写镜像名称和描述,点击确定即可创建镜像。输入镜像名称和描述之后,点击确定按钮,即可生成该主机的镜像,此时页面即跳...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<