Docker镜像制作:Nginx
安装Nginx
# vim Dockerfile
FROM centos MAINTAINER Edward RUN yum install epel-release -y && yum install nginx -y #USER nginx #ENV MYSQL_HOST 192.168.50.60
# docker build -t nginx:v2 .
# docker run -it --rm nginx:v2 bash
看看nginx是否安装成功
[root@713aae3c10ea /]# ls /usr/share/nginx/
写个默认欢迎页面
# vim /opt/nginx-v1/index.html
linux nginx web
继续制作镜像,编辑dockerfile
# vim Dockerfile
FROM centos MAINTAINER Edward RUN yum install epel-release -y && yum install nginx -y #USER nginx #ENV MYSQL_HOST 192.168.50.60 add index.html /usr/share/nginx/html/ EXPOSE 80 443 CMD ["nginx"]
将新增内容写在文件尾部,这样前面执行完的步骤会跳过,不会重复执行,也不容易出错
进入容器
# docker run -it --rm -p 80:80 nginx:v2 bash
安装sz工具
[root@713aae3c10ea /]# yum install lrzsz -y
拿到nginx配置文件
[root@713aae3c10ea /]# sz /etc/nginx/nginx.conf
编辑配置文件,加上daemon off;
# vim nginx.conf
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; daemon off;
编辑dockerfile,将配置文件覆盖容器内的默认nginx.conf
# vim Dockerfile
FROM centos MAINTAINER Edward RUN yum install epel-release -y && yum install nginx -y #USER nginx #ENV MYSQL_HOST 192.168.50.60 ADD nginx.conf /etc/nginx/ add index.html /usr/share/nginx/html/ EXPOSE 80 443 CMD ["nginx"]
再次build(会自动调用缓存,以跳过已经完成的步骤)
# docker build -t nginx:v2 .
Sending build context to Docker daemon 6.144kB Step 1/7 : FROM centos ---> 589dc4d40385 Step 2/7 : MAINTAINER Edward ---> Using cache ---> 6eb50c3553f4 Step 3/7 : RUN yum install epel-release -y && yum install nginx -y ---> Using cache ---> 75c713a95fd7 Step 4/7 : ADD nginx.conf /etc/nginx/ ---> c95ab9504aca Step 5/7 : add index.html /usr/share/nginx/html/ ---> 713360cdd9d9 Step 6/7 : EXPOSE 80 443 ---> Running in 4dfcfae89c33 Removing intermediate container 4dfcfae89c33 ---> 2e1dbf9bbafe Step 7/7 : CMD ["nginx"] ---> Running in d077ad85d628 Removing intermediate container d077ad85d628 ---> bb60a78f49f3 Successfully built bb60a78f49f3 Successfully tagged nginx:v2
web访问测试 http://192.168.50.90/
测试成功
linux nginx web