Dockerfile命令详解(超全版本)  https://www.cnblogs.com/dazhoushuoceshi/p/7066041.html

案例1

dockerfile文件内容:

FROM centos
MAINTAINER jack
COPY jdk1.7.0_79 jdk1.7.0_79
ADD springcloud-eureka.jar springcloud-eureka.jar
ENV JAVA_HOME=/jdk1.7.0_79
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/springcloud-eureka.jar"]

FROM:指定容器运行的基础镜像
MAINTAINER:告诉Docker该镜像的作者是谁
COPY:把构建目录下的jdk copy到运行容器中
ADD:  add src dint    把宿主机下的src文件复制到容器的dint指定目标路径下
ENV:配置jdk
EXPOSE:告诉Docker服务端暴露端口,在容器启动时需要通过 -p 做端口映射
ENTRYPOINT:当容器启动后执行的命令

案例2

FROM centos
MAINTAINER jack
ENV REFRESHED_AT 2018-3-13
RUN yum update -y
RUN yum -y install wget
WORKDIR /etc/yum.repos.d/
RUN wget http://mirrors.aliyun.com/repo/epel-6.repo
RUN yum -y install redis
EXPOSE 6379

RUN  运行命令

WORKDIR   指定进入容器后的默认路径

ENV  定义一个变量,key  value键值对

执行dockerfile文件

docker build -t jack/redis .       //最后的.表示在当前目录下查找dockerfile文件。jack/redis是镜像命名, 查看镜像及版本命令: docker images

 CMD与ENTRYPOINT指令区别

CMD[“/bin/bash”]
效果跟在run后面加命令是一样的,只是run后面的命令会覆盖CMD中的命令
Docker run –ti aff4057ca9cc  /bin/bash             //这里的aff4057ca9cc 是镜像ID
在dockerfile中只能指定一条CMD指令。如果指定了多条,也只有最后一条CMD指令会被使用。

ENTRYPOINT
跟CMD命令类似,只是ENTRYPOINT中的命令,会跟run后面的命令叠加
如: ENTRYPOINT[“usr/local/nginx”]
Docker run –ti –d aff4057ca9cc –g “daemon off;” 。那么最后容器启动后,Nginx启动的命令是: usr/local/nginx  -g  “daemon off;”
ENTRYPOINT[“usr/local/nginx”,”-g”,” daemon off;”]这样是一样的效果

docker18.09.5 Dockerfile文件编写的更多相关文章

  1. Docker | dockerfile 文件编写

    dockerfile 的作用 dockerfile 作用就是制作镜像,保持开发,测试,生产环境的一致性. 直接将容器制作为镜像 制作新的镜像 # 把容器按照自己的需求个性完之后,就可以创建自己的镜像的 ...

  2. docker Dockerfile文件的编写部分命令

    镜像的构建过程:编写dockerfile文件,执行docker build 进行构建镜像,最后docker run 运行容器镜像实例. docker build -t mycentos:1.01 . ...

  3. [Linux] 编写Dockerfile文件自动构建镜像

    Dockerfile是一个文本文件,按顺序包含构建给定镜像所需的所有命令Docker通过读取Dockerfile中的指令自动构建图像 . Dockerfile遵循特定的格式和指令集,您可以在Docke ...

  4. SpringCloud组件编写Dockerfile文件模板

    在组件根目录下的Dockerfile文件 # Dockerfile文件内容 FROM idocker.io/jre:1.8.0_212 #自定义的基础镜像 VOLUME /tmp # 挂载目录 ADD ...

  5. Dockerfile文件万字全面解析

    阅读目录 目录 阅读目录 用法 格式 Parser directives escape 环境替换 .dockerignore file FROM RUN CMD LABEL MAINTAINER EX ...

  6. Pdf File Writer 中文应用(PDF文件编写器C#类库)

    该文由小居工作室(QQ:2482052910)    翻译并提供解答支持,原文地址:Pdf File Writer 中文应用(PDF文件编写器C#类库):http://www.cnblogs.com/ ...

  7. 【Docker】(6)---Dockerfile文件

    springboot项目打包镜像中的Dockerfile文件 在讲Dockerfile文件之前应该先讲下maven的一个插件叫:dockerfile-maven-plugin.他们是组合一起用的 一. ...

  8. dockerfile的编写参数

    注意细节 “#”号开头是注释 ,指令不区分大小写,顺序执行 FROM 指定基础镜像:注意必须是文件里第一个非注释行 ENV name 值 设置变量,注意没有=号 变量引用 ${name:-chenxi ...

  9. PDF 文件编写器 C# 类库(版本 1.28.0)使用详解

    PDF File Writer 是一个 C# .NET 类库,允许应用程序创建 PDF 文件. PDF File Writer C# 类库使 .NET 应用程序能够生成 PDF 文档.该库使应用程序免 ...

随机推荐

  1. iptables-save命令

    [root@localhost ~]# iptables-save -t filter > iptables.bak [root@localhost ~]# cat iptables.bak # ...

  2. Linux命令rz

    rz :上传文件:sz: 下载文件: 在linux 系统中,使用rz(或 sz) 命令是,提示 -bash: rz(或者是sz): command not found .这个时候,说明没有安装 lrz ...

  3. vue-router+elelment-ui,实现导航栏激活高亮

    <el-menu :default-active="$route.path" class="el-menu-vertical-demo" backgrou ...

  4. rm: cannot remove ' xxx': Permission denied

    一般出现这个问题的原因是权限被改变了,使用chown 修改即可 可参考:chmod.chgrp.chown详解 linux chmod命令和chown命令

  5. 2018-2019-2 网络对抗技术 20165228 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165228 Exp1 PC平台逆向破解 实验内容及步骤 第一部分:直接修改程序机器指令,改变程序执行流程 关键:通过修改call指令跳转的地址,将原本指向被 ...

  6. 前端浏览器自动刷新神器:Browsersync

    [安装] 1 npm install -g browser-sync [静态项目使用browsersync] 自己可以去browsersync官网查看,其实使用很简单,总结下就是: 1 browser ...

  7. Podfile

    platform :ios, "9.0" target "APPName" dopod 'AFNetworking'pod 'SVProgressHUD'pod ...

  8. centos vsftpd

    1.配置文件 # 是否允许匿名登录FTP服务器,默认设置为YES允许# 用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址.# 如不允许匿名访问则设置为NOanon ...

  9. 第二次实验:CC2530平台上GPIO组件的TinyOS编程

    实验二 CC2530平台上GPIO组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生理解和掌握CC2530的GPIO及外部中断,及其TinyOS编程方法 学 ...

  10. 安装Kali linux

    Kali介绍 Kali Linux是基于debian的Linux发行版, 设计用于数字取证操作系统.由Offensive Security Ltd维护和资助.最先由Offensive Security ...