缘起
容器技术很火,我学的很慢;用到了才会学,对于Docker的文件初见如下:
FROM ubuntu:latest
MAINTAINER zero
RUN apt-get update && apt-get install -y vim && apt-get install -y nginx
EXPOSE 80
CMD ["nginx","-g","daemon off;"]
当然官方也提供了毕竟丰富的文档。初见总是那么美好,觉的很简单,很方便可以启动自己想要的一个组件。这才有了记录命令的后续。
命令
命令 | 说明 | 示例 |
---|---|---|
ADD | 添加本地或远程的文件和目录 | |
ARG | 使用构建时变量 | |
CMD | 指定默认命令 | |
COPY | 复制文件和目录 | |
ENTRYPOINT | 指定默认可执行文件 | |
EXPOSE | 声明启动的服务会监听哪个端口 | |
FROM | 声明基础镜像 | |
HEALTHCHECK | 启动时检查容器健康状态 | |
LABEL | 为镜像添加标签元数据 | |
ONBUILD | 指定在构建时使用镜像的说明。 | |
RUN | 执行构建命令 | |
SHELL | 设置镜像的默认shell | |
STOPSIGNAL | 指定退出容器的系统调用信号 | |
USER | 设置用户和组id | |
VOLUME | 创建挂载卷 | |
WORKDIR | 改变工作目录 |
命令使用示例和说明
LABEL
:为镜像打上标签,后续支持通过docker命令搜索
命令对比
ADD©
相似: 添加文件到镜像中
差异: ADD
可以添加远程或本地文件和目录;COPY
只能复制本地的文件和目录
CMD&ENTRYPOINT
相似: 都是容器启动时候执行的命令
差异: CMD
在运行docker run命令时容易被覆盖,而ENTERPOINT
不容易被覆盖