docker-Dockerfile文件详解

docker-Dockerfile文件详解

大家好,又见面了,我是你们的朋友全栈君。

Dockerfile文件详解

  • FROM //指定基于哪个基础镜像

格式 FROM <image> 或 FROM <image>:<tag>
示例:

FROM centos
FROM centos:latest
  • MAINTAINER //指定作者信息

格式 MAINTAINER <name>
示例:

MAINTAINER apeng apeng@apenglinux.com
  • RUN //镜像操作指令

格式 RUN <command> 或 RUN [“executable”,”param1″,”param2″]
示例:

RUN yum install httpd
RUN ['/bin/bash',"-c","echo hello"]
  • CMD
    CMD [“executable”,”param1″,”param2″]
    CMD command param1 apram2
    CMD [“param1″,”param2”]
    示例:
CMD ["/bin/bash","/usr/local/nginx/sbin/nginx","-c","/usr/local/nginx/conf/nginx.conf"]
  • EXPOSE
    格式为 EXPOSE <port>[<port>…]
    示例:

    //指定要映射出去的端口
    // -P 自动分配端口
    // -p 指定具体的端口
    EXPOSE 22 80 9000
  • ENV

格式 ENV <key> <value>
示例:

ENV PATH /usr/local/mysql/bin:$PATH
  • ADD
    格式 add <src><dest>

    ADD <conf/vhosts></usr/local/nginx/conf>
  • COPY

格式同ADD
不支持url

  • ENTRYPOINT

容器启动时要执行的命令,它和CMD很像,也是有一条生效,如果写多个只有一条有效。和CMD不同是:
CMD是可以被docker run指令覆盖的,而ENTRYPOINT不能覆盖
如,容器名为 apeng
我们在Dockerfile中指定如下CMD
CMD [“/bin/echo”,”test”]
启动容器的命令是docker run -it apeng /bin/bash 什么都不输出
ENTRYPOINT不会覆盖,而且会比CMD或者docker run指定的命令要靠前执行
ENTRYPOINT [“echo”,”test”]
docker run -it apeng 123
则会输出 test 123,这相当于要执行命令echo test 123

  • VOLUME

格式 VOLUME [“/data”]
创建一个可以从本机或其他容器挂载的挂载点

  • USER

格式 USER daemon
指定运行容器的用户

  • WORKDIR

格式 WORKDIR /path/to/workdir
为后续的RUN、CMD、ENTRYPOINT指定工作目录

转载于:https://blog.51cto.com/13480443/2097447

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107584.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • docker-compose 集群_docker集群管理

    docker-compose 集群_docker集群管理前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

  • linux docker基本命令_如何进入docker

    linux docker基本命令_如何进入dockerlinuxdocker常用命令

  • docker命令大全

    docker命令大全1、启动dockersystemctlstartdocker2、

  • docker 镜像启动命令_宿主机ping不通docker

    docker 镜像启动命令_宿主机ping不通dockerdockerrun:创建一个新的容器并运行一个命令语法dockerrun[OPTIONS]IMAGE[COMMAND][ARG…]OPTIONS说明: -astdin:指定标准输入输出内容类型,可选STDIN/STDOUT/STDERR三项; -d:后台运行容器,并返回容器ID; -i:以交互模式运行容器,通常与-t同时使用; -P:随机端口映射,容器内部端口随机映射到主机的端口 -p:指定端口映射,格式为:主…

  • docker(1)下载安装for mac

    docker(1)下载安装for mac前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

  • 群晖 docker 端口_群晖 l2tp

    群晖 docker 端口_群晖 l2tp最近群晖docker某个容器端口总是被扫描,系统自动封禁了很多IP,遂想更改端口,个人对Linux和docker非常不熟悉,只做记录,如有错误,欢迎指出流程分为以下几个步骤:停止容器修改端口映射重启docker停止容器首先用dockerps命令查看所有的容器名称和id例如容器ID为a1b2c3用dockerstopa1b2c3来停止容器修改端口映射修改端口映射主要在了两个文件hostconfig.json和config.v2.json下面是如何找到这两个文件的路径利用cd/v

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号