1、FROM
- 用法:
FROM <image>
或者:
FROM <image>:<tag>
通过 FROM 指定的镜像,可以是任何有效的基础镜像。FROM 有以下限制:
FROM 必须 是 Dockerfile 中第一条非注释命令
在一个 Dockerfile 文件中创建多个镜像时,FROM 可以多次出现。只需在每个新命令 FROM 之前,记录提交上次的镜像 ID。
2、Run
#shell格式
RUN <command>
#exec格式
RUN ["executable", "param1", "param2"]
RUN 指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定 --no-cache 参数,如: docker build --no-cache。
3、COPY & ADD
COPY <源路径>... <目标路径>
COPY ["<源路径1>",... "<目标路径>"]
ADD <源路径>... <目标路径>
ADD ["<源路径>",... "<目标路径>"]
ADD 可以下载网络资源
4、ENV
ENV <key> <value>
ENV <key1>=<value1> <key2>=<value2>...
* FOR EXAMPLE:
ENV VERSION=1.0 DEBUG=on \
NAME="Happy Feet"
5、EXPOSE
EXPOSE <port> [<port>...]
暴露端口
6、VOLUME
VOLUME ["/data"]
没有容器使用卷,就会消失,那还不如用-v 挂
7、WORKDIR
WORKDIR /path/to/workdir
工作目录。使用docker run -w
覆盖。
8、CMD
CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD command param1 param2
9、LABEL
LABEL version="1.0" description="这是一个Web服务器" by="IT笔录"
-
docker inspect image-name
查询
10、others
docker diff 容器名字
可以看到改变。
docker build -f path .
指定dockerfile
docekr build -t images:tag .
# 指定输出标签
- 2、维护者信息
MAINTAINER docker_user docker_user@email.com
11、一个例子。
## Dockerfile文件格式
# This dockerfile uses the ubuntu image
# VERSION 2 - EDITION 1
# Author: docker_user
# Command format: Instruction [arguments / command] ..
# 1、第一行必须指定 基础镜像信息
FROM ubuntu
# 2、维护者信息
MAINTAINER docker_user docker_user@email.com
# 3、镜像操作指令
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe">>/etc/apt/sources.list
RUN apt-get update && apt-get install -y nginx
RUN echo "\ndaemon off;">>/etc/nginx/nginx.conf
网友评论