Dockerfile构建nginx镜像
1、建立工作目录
[root@docker ~]# mkdir nginx
[root@docker ~]# cd nginx/
2、编写Dockerfile文件
[root@docker nginx]# vim run.sh
[root@docker nginx]# vim Dockerfile
#基于的基础镜像
FROM centos:7
#镜像作者信息
MAINTAINER Crushlinux <crushlinux@163.com>
#安装相关依赖包
RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel
#下载并解压nginx源码包
RUN wget http://nginx.org/download/nginx-1.19.0.tar.gz && tar zxf nginx-1.19.0.tar.gz
https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz
#编译安装nginx
RUN cd nginx-1.19.0 && ./configure --prefix=/usr/local/nginx && make && make install
#开启 80 和 443 端口
EXPOSE 80
#修改 Nginx 配置文件,以非 daemon 方式启动
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
#定义时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#复制服务启动脚本并设置权限
ADD run.sh /run.sh
RUN chmod 775 /run.sh
#启动容器时执行脚本
CMD ["/run.sh"]
3、构建镜像
[root@docker nginx]# docker build -t nginx:new .
[root@docker nginx]# docker images nginx:new
4、测试容器
[root@docker nginx]# docker run -d -p 8000:80 --name nginx-test --restart=always nginx:new
5、浏览器访问:http://192.168.100.131:8000