#在一个空目录下,新建一个名为 Dockerfile 文件
mkdir /usr/dockerfile -p
vim dockerfile-demo
#编辑 dockerfile
FROM nginx:latest
维护者 可以省略
MAINTAINER jourwon jourwon@docker.com
#启动容器
RUN mkdir /usr/share/nginx/html/ -p
RUN echo Hello DockerFile! > /usr/share/nginx/html/demo.html
#构建镜像 . : 根据当前上下文环境构建
docker build -f dockerfile-demo -t jourwon/nginx:v1 .
#运行
docker run --rm -d -it --network host jourwon/nginx:v1
浏览器访问
D ockerfile命令官方文档 常见命令详解:
1. FROM
指定所创建镜像的基础镜像,如果本地不存在,则默认会去Docker Hub下载指定镜像。命令格式如下:
FROM [–platform=] [AS ]
Or
FROM [–platform=] [:] [AS ]
Or
FROM [–platform=] [@] [AS ]
平时不用这么复杂的,只需如下即可
FROM [:]
FROM centos:7.6.1810
任何Dockerfile中的第一条指令必须为FROM指令。并且,如果在同 一个Dockerfile中创建多个镜像,可以使用多个FROM指令(每个镜像一 次)。
2. MAINTAINER
指定维护者信息,格式为MAINTAINER。可以不写
MAINTAINER jourwon jourwon@docker.com
该信息会写入生成镜像的Author属性域中
3. RUN
容器构建时需要运行的命令
1、RUN
默认将在shell终端中运行命令,即/bin/sh-c
2、RUN [“executable”,“param1”,“param2”]。指令会被解析 为Json数组,因此必须用双引号。exec执行,不会启动shell环境
指定使用其他终端类型可以通过此方式实现,例如
RUN ["/bin/bash","-c",“echo hello”]
每条RUN指令将在当前镜像的基础上执行指定命令,并提交为新的镜像。当命令较长时可以使用\来换行
在shell形式中,可以使用\(反斜杠)将一条RUN指令继续到下一行。例如,考虑以下两行:
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME’
它们在一起等效于以下这一行:
RUN /bin/bash -c ‘source $HOME/.bashrc; echo $HOME’
要