dockerfile 入门级小实验:
dockerfile:
FROM
nginx
MAINTAINER
dkey
ENV
RUN_USER
nginx
ENV
RUN_GROUP
nginx
ENV
DATA_DIR
/
data
/
web
ENV
LOG_DIR
/
data
/
log
/
nginx
RUN
mkdir
/
data
/
log
/
nginx
-
p
RUN
chown
nginx
.nginx
-
R
/
data
/
log
/
nginx
ADD
web
/
data
/
web
ADD
nginx
.conf
/
etc
/
nginx
/
nginx
.conf
ADD
default
.conf
/
etc
/
nginx
/
conf
.d
/
default
.conf
EXPOSE
80
ENTRYPOINT
nginx
-
g
"daemon off;"
做了这么几件事:
1、拉取一个nginx镜像。
2、设置了几个变量。
3、创建了几个需要的目录。
4、把当前目录下的web程序复制到镜像的/data/web目录。
5、把nginx.conf配置文件和default.conf配置文件复制到镜像中。
6、设置一个默认端口。
7、最后设置了容器启动时执行的命令,我用来启动nginx程序,注意这个命令不能错,不然容器启动不了。这样设置后,当你docker run运行此镜像时不需要在后面再次执行需要执行的命令了。
$
docker
build
-
t
nginx
_02
.
docker run --name nginx_01 -d -p 80:80 nginx_01