Docker 入门学习(5)

Docker 入门学习(5)

参考资源:Docker技术入门与实战

Dockerfile文件书写指令

Dockerfile一般包含四部分:基础镜像、维护者信息、镜像操作指令和容器启动时执行指令。#开头为注释行。

# This dockerfile uses the ubuntu image
# VERSION 2-EDITION 1
# Author:wtingting
# Command format:Instruction [arguments command]...
# 1.第一行必须指定基于的基础镜像
FROM ubuntu
# 2.维护者信息
MAINTAINER wtingting wtingting@example.com
# 3.镜像操作指令
RUN echo "hello docker"
RUN apt-get update && apt-get install -y nginx
# 4.容器启动时执行指令
CMD usrsbin/nginx
  • FROM

格式为FROM <image>FROM <image>:<tag>

  • MAINTAINER指令

格式为MAINTAINER <name>

  • RUN

格式为RUN <command>或者RUN ["executable","param1","param2"]

前者在Shell终端运行命令binsh -c,后者使用exec执行。命令较长时使用\来换行。

  • CMD
    • CMD ["executable","param1","param2"]使用exec执行。
    • CMD command param1 param2在binsh中执行,提供给需要交互的应用。
    • CMD ["param1","param2"]提供给ENTRYPOINT的默认参数。

每个Dockerfile只能有一个CMD命令,如果有多条,只执行最后一条。

  • EXPOSE

格式为EXPOSE <port> [<port>...]

  • ENV

格式为ENV <key> <value>指定环境变量。

例如:ENV PATH usr/local/postgres$PG_MAJOR/bin:$PATH

  • ADD

格式为ADD <src> <dest>

复制指定的到容器中的。其中可以是Dockerfile的相对路径、URL或者tar文件(自动解压)。

  • COPY

格式为COPY <src> <dest>

  • ENTRYPOINT
    • ENTRYPOINT ["executable","param1","param2"]
    • ENTRYPOINT command param1 param2

每个dockerfile只能有一个ENTRYPOINT,有多个时,只有最后一个生效。

  • VOLUME

格式为VOLUME ["/data"]

创建挂载点。从本地主机或其他容器挂载。

  • USER

格式为USER daemon指定运行容器时候的用户名或者UID。

  • WORKDIR

格式为WORKDIR /path/to/workdir

配置工作目录。

  • ONBUILD

格式为ONBUILD [INSTRUCTION]

配置当所创建的镜像作为其他新创建的基础镜像时执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值