一、准备工作
1、下载基础镜像
docker pull centos:7.8.2003
2、创建存放nginx的目录和Dockerfile文件
mkdir /home/nginx
cd /opt/nginx
touch Dockerfile
3、下载nginx源码包到nginx目录下
wget http://nginx.org/download/nginx-1.18.0.tar.gz
二、编写Dockerfile
1、配置文件,注意添加daemon off;不是以守护进程启动,否则进程进行完成会自动关闭,容器无法再访问
vim Dockerfile
1 | FROM centos:7.8.2003 |
2执行docker build进行构建,注意命令后的.需要把文件夹下载的nginx打包进去
docker build -t centos7.8_nginx1.18:v1 .
Successfully built 3ae0d07c99ec
Successfully tagged centos7.8_nginx1.18:v1
3构建成功提示,并查看
[root@nginx]# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
centos7.8_nginx1.18 v1 3ae0d07c99ec About a minute ago 462MB
三、启动新镜像
1、-d后台运行,-p指定端口,-v映射路径
mkdir -p /home/nginx/www /home/nginx/conf/
1 | docker run -d -p 8168:80 --name nginx-rancher-168 -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf centos7.8_nginx1.18:v1 |
2、查看容器
1 | # docker ps |
3、浏览器访问地址即可
四、重新编译nginx
1、进入容器内部
docker exec -it nginx-v1 /bin/bash
2、重新编译
在./configure 后添加参数,增加需要的模块