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/

 

posted @   leihongnu  阅读(1030)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2021-05-13 nohup java -jar xx.jar & ,关闭窗口后退出进程
2021-05-13 JedisConnectionException: Failed connecting to host localhost:6379
点击右上角即可分享
微信分享提示