dockerfile 制作nginx镜像
1、创建nginxmul
#mkdir nginx
#cd nginx
2、将nginx解压后的目录放在nginx目录下
3、创建Dockerfile文件
# vi Dockerfile
【
#要用centos7 不能用latest,因为latest版本没有rpm和yum,安装nginx需要安装依赖
FROM centos:7
#镜像是谁写的
MAINTAINER 907164701@qq.com
#安装依赖
RUN yum -y install gcc pcre-devel zlib-devel openssl openssl-devel wget
#创建用户
RUN useradd -M -s /sbin/nologin nginx
#将解压后的目录拷贝到容器的/root下
ADD ./nginx-1.20.2 /root/nginx-1.20.2
#进入安装目录 && 编译 && 安装
#踩坑记录:不要把三个命令分开 。因为一个RUN 执行完成后,会回到/目录,第二个命令就找不到正确路径
RUN cd /root/nginx-1.20.2 && ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module && make && make install
#设置环境变量
ENV PATH /usr/local/nginx/sbin:$PATH
#设置端口
EXPOSE 80
#启动容器时同时启动命令nginx,因为设置了环境变量,nginx是启动的意思。踩坑记录:有这条命令,启动容器失败。
#ENTRYPOINT ["nginx"]
】
4、创建镜像
#注意《.》号,创建一个名为nginx,版本号为1.20.2的镜像
#docker build -t nginx:1.20.2 .
5、查看镜像
#docker images
6、运行容器
# docker run -itd -p 8090:80 --name nginx nginx:1.20.2 /bin/bash
7、验证
登录浏览器,容器映射nginx 80的端口为8090,浏览器地址:http://192.168.59.102:8090/