一、说明
安装环境:Linux CentOS 8、Docker
安装版本:Nginx:latest
二、安装步骤
1、查找Nginx镜像
官方镜像:https://hub.docker.com/_/nginx/tags
2、拉取Nginx镜像
命令 | 描述 |
---|---|
docker pull nginx:latest | 拉取最新版本Nginx镜像 |
docker pull nginx:xxxx | 拉取指定版本Nginx镜像 |
docker imags #查看nginx镜像是否拉取成功
3、拷贝配置文件
3.1 运行Nginx容器,测试镜像是否可用,后面的步骤会复制该容器的配置文件
docker run --name test-nginx -p 80:80 -d nginx #运行测试容器
docker ps # 查看容器运行是否成功
进入容器内部
docker exec -it test-nginx /bin/bash
说明:
容器内Nginx配置文件都在/etc/nginx目录下
容器内Nginx默认的html文件目录为:/usr/share/nginx/html
容器内Nginx日志文件目录为:var/log/nginx
3.2 将容器内Nginx的配置文件挂载到宿主机
创建管理目录,将Nginx配置文件,html,日志文件拷贝至管理目录下
mkdir -p /opt/nginx
docker cp test-nginx:/etc/nginx/nginx.conf /opt/nginx/
docker cp test-nginx:/etc/nginx/conf.d /opt/nginx/conf/
docker cp test-nginx:/usr/share/nginx/html/ /opt/nginx/html/
docker cp test-nginx:/var/log/nginx/ /opt/nginx/logs/
3.3 删除测试容器
docker stop test-nginx # 停止容器
docker rm test-nginx # 删除容器
4 创建并运行容器
docker run -d \
--name my-nginx \
-p 80:80 \
--restart=always \
--privileged=true \
-v /etc/localtime:/etc/localtime:ro \
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx/logs:/var/log/nginx \
-v /opt/nginx/html:/usr/share/nginx/html \
-v /opt/nginx/conf:/etc/nginx/conf.d \
nginx
命令 | 说明 |
---|---|
docker run | 创建并运行容器 |
-d | 后台运行 |
–name my-nginx | 设置容器名称为 my-nginx |
-p 80:80 | 端口映射,-p 主机端口:容器端口 |
–restart=always | docker启动,自动重启容器,失败会一直重启 |
–privileged=true | 开启容器数据卷的读写权限,使container内的root拥有真正的root权限 |
-v /etc/localtime:/etc/localtime:ro | 同步docker容器与主机系统时间(挂入/etc/localtime):ro 只读权限 |
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf | 配置文件目录挂载,-v /宿主机目录:/容器内目录 |
-v /opt/nginx/logs:/var/log/nginx | 日志文件目录挂载,-v /宿主机目录:/容器内目录 |
-v /opt/nginx/html:/usr/share/nginx/html | html文件目录挂载,-v /宿主机目录:/容器内目录 |
-v /opt/nginx/conf:/etc/nginx/conf.d | 默认配置文件目录挂载,-v /宿主机目录:/容器内目录 |
nginx | nginx镜像名称(默认latest版本) |
5 查看容器是否启动成功
docker ps #查询Nginx容器是否启动成功
浏览器访问:http:ip