centos7.4下Dockerfile创建nginx镜像并生成容器这样做解决所有错误!!!
实验环境:192.168.80.185 (www.ae.com)
https://download.openvz.org/template/precreated/ //去公网环境下载基础镜像centos
--------创建nginx镜像:前提要有centos这个镜像---
mkdir nginx
cd nginx
vi Dockerfile
FROM centos
MAINTAINER The Centos Project<[email protected]>
RUN yum install -y epel-release
RUN yum install -y nginx
#ADD nginx.conf /etc/nginx/nginx.conf
#RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD run.sh /run.sh
RUN chmod 775 /run.sh
EXPOSE 80
#CMD [ "/usr/sbin/init"]
CMD ["/run.sh"]
:wq
vi run.sh
#!/bin/bash
/usr/sbin/nginx
:wq
vi nginx.conf
.... //这里可以根据情况自己写nginx的配置文件
:wq
docker build -t nginx:centos . //生成镜像
docker run --privileged -itd -p 192.168.80.185:80:80 e2272d08b0cc /usr/sbin/init //这里是镜像ID
docker exec -it 71881be60901 /bin/bash //进入容器,这里是容器ID
去容器里启动nginx服务
sh run.sh
----注意:如果是centos7的镜像创建的容器,需要在容器里做以下操作,否则在浏览器里无法访问---
systemctl stop httpd //centos7这个镜像里默认开机就运行了httpd服务占用了80端口,所以要关闭httpd服务
systemctl stop iptables
systemctl stop firewalld
setenforce 0
浏览器测试nginx是否启动...