docker-2 Dockerfile

关键字说明

指令说明
FROM定制的镜像都是基于 FROM 的镜像
MAINTAINER标示镜像是谁写的,姓名+邮箱等信息
RUN用于执行后面跟着的命令行命令。
COPY复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
ADDADD 指令和 COPY 的使用格式一致(同样需求下,官方推荐使用 COPY)。如果是压缩包则会自动解压
CMD类似于 RUN 指令,用于运行程序
ENTRYPOINT类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。
ENV设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。
ARG构建参数,与 ENV 作用一至。不过作用域不一样。ARG 设置的环境变量仅对 Dockerfile 内有效,也就是说只有 docker build 的过程中有效,构建好的镜像内不存在此环境变量。
VOLUME定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷。
EXPOSE仅仅只是声明端口。
WORKDIR指定工作目录。用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在。
USER用于指定执行后续命令的用户和用户组,这边只是切换后续命令执行的用户(用户和用户组必须提前已经存在)。
HEALTHCHECK用于指定某个程序或者指令来监控 docker 容器服务的运行状态。
ONBUILD用于延迟构建命令的执行。

更多详情可参考:https://www.runoob.com/docker/docker-dockerfile.html

示例

编写DockerFile

FROM centos  # 基于什么构建
MAINTAINER salulu # 作者信息
ENV MYPATH /usr/local #环境信息配置
WORKDIR $MYPATH # 工作目录
RUN yum -y install vim # 安装vim
RUN yum -y install net-tools # 安装网络工具
EXPOSE 80 # 暴露80端口
CMD echo $MYPATH
CMD echo "666test"
CMD /bin/bash

下面编写一个tomcat的Dockerfile
文件名称默认为Dockerfile,当然也可以使用任意名称。

FROM centos # 基于centos构建
MAINTAINER salulu # 作者信息
COPY readme.txt /usr/local/readme.txt #把readme文件复制到镜像中
ADD jdk-8u11-linux-x64.tar.gz /usr/local/ # 解压jdk到/usr/local目录下
ADD apache-tocat-9.0.22.tar.gz /usr/local/ # 解压tomcat
RUN yum -y install vim # 安装vim命令
ENV MYPATH /usr/local 
WORKDIR $MYPATH # 配置环境信息和工作目录
ENV JAVA_HOME /usr/local/jdk1.8.0_11 # 配置jdk的环境变量
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/appache-tomcat-9.0.22 # 配置tomcat的环境变量
ENV CATALINA_BASH /usr/local/appache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:CATALINA_HOME/lib:CATALINA_BASH/bin # 把环境变量添加到全局中
EXPOSE 8080 # 暴露8080端口
CMD /usr/local/appache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/appache-tomcat-9.0.22/bin/logs/catalina.out # 执行启动tomcat的脚步并输出tomcat的日志

docker build -f Dockerfile -t myTomcat .
注意命令的后面有个点,这个是指定构建到当前目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,它可以帮助开发者将应用程序和服务以容器的形式进行打包、分发和部署。而Gluster是一个分布式存储系统,它可以将多个服务器的存储空间整合在一起,形成一个统一的、可扩展的存储池。 CentOS是一种基于Red Hat Enterprise Linux(RHEL)的开源操作系统,它提供了稳定性和安全性,并且具备广泛的应用支持。 Dockerfile是用于构建Docker镜像的脚本文件,它可以定义容器的运行环境、设置启动命令等。 那么,docker-gluster-centos Dockerfile是指在CentOS系统上构建一个包含Gluster分布式存储系统的Docker镜像的脚本文件。 在docker-gluster-centos Dockerfile中,我们可以使用CentOS的官方镜像作为基础镜像,并在此基础上安装和配置Gluster分布式存储系统。可以通过使用适当的软件包管理工具(如yum)来安装Gluster软件包和依赖项。然后,可以使用Dockerfile中的指令来启动和配置Gluster节点、创建Gluster卷以及设置其他必要的参数和选项。 通过构建docker-gluster-centos Docker镜像,我们可以在任何支持Docker的环境中快速部署和运行Gluster分布式存储系统,而无需手动安装和配置。这样可以大大简化Gluster的部署过程,提高运维效率,并且能够实现更加轻量级、可移植和可扩展的存储解决方案。 总而言之,docker-gluster-centos Dockerfile是用于在CentOS系统上构建包含Gluster分布式存储系统的Docker镜像的脚本文件,使得Gluster的部署和运行变得更加简单、可靠和可扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值