Dockerfile镜像制作
Dockerfile 基础知识
FROM #基础镜像,一切从这里开始构建
MAINTAINER #镜像是谁写的,姓名+邮箱
RUN #镜像构建的时候需要运行的命令
ADD #步骤,tomcat镜像,这个tomcat的压缩包!添加内容
WORKDIR #镜像的工作目录
VOLUME #挂载的目录
EXPOSE #暴露端口配置
CMD #指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD #当构建一个被继承 Dockerfile 这个时候就会运行ONBUILD 的指令
COPY #类似ADD,将我们文件拷贝到镜像中
ENV #构建的时候设置环境遍量
区别
CMD #指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
首先我们开启ipv4转发
[root@localhost ~]# echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
#创建nginx的镜像目录
[ root@docker ~]# mkdir -P dockerfile/ 1 ib/centos/nginx
[root@docker ~]# cd dockerfile/lib/centos/nginx
#准备Dockerfile文件
[ root@docker nginx] # cat Dockerfile
FROM centos: 7
RUN yum install -y gcc gCC-C++ make openssl -devel pcre -devel
ADD nginx-1.12.1. tar.gz /tmp
RUN cd /tmp/nginx-1.12.1 && \
./configure --prefix=/usr/ 1ocal/nginx && \
make-j2&&\
make install
RUN rm -rf / tmp/nginx-1.12.1* && yum clean all
COPY nginx.conf /usr/ 1ocal/nginx/ conf
WORKDIR /usr/ 1ocal/ nginx
EXPOSE 80
CMD [". /sbin/nginx","-g", "daemon off;"]
#将事先准备好的nginx-1.12.1. tar.gz和nginx. conf配置文件拷贝到当前目录下
[root@docker nginx]# ls
Dockerfile nginx-1.12.1.tar.gz nginx.conf
#build基于nginx的docker镜像
[ root@docker nginx] # docker build -t nginx:1 .
6.3构建PHP网站平台镜像实战
现在我们创建一个PHP的docker镜像
#创建php的镜像目录
[root@docker phpl# mkdir -p /root/dockerfile/lib/centos/php
[root@docker php]# cd /root/dockerfile/lib/centos/php