Docker 安装 Nginx
环境
- Linux 云服务器(CentOS 7.6 64bit)
- 云服务器已安装 Docker(v26.1.4)
操作步骤
1、在 Docker Hub 网站搜索 Nginx,找到想要安装的版本。如果自己的电脑无法访问 Docker Hub,可以在 https://github.com/dongyubin/DockerHub 这个仓库找一些镜像加速网站,里面搜索想要安装的 Nginx 版本。



2、在服务器执行拉取镜像命令,将 Nginx 镜像拉取到服务器。
docker pull nginx:stable-alpine3.21-perl
# 拉取特定版本镜像
docker pull nginx:[tag] # 中括号里面可以加版本号 如 nginx:1.16.1,但前提是要在 Docker Hub 网站上确定一下这个版本是否存在。

3、拉取完镜像后,可以通过 docker images 命令查看本地拉取的所有镜像。

注意事项:
Nginx 一般是根据配置文件启动的。如果我们在第一次启动的时候就挂载目录,那么因为我们宿主机是空文件,会直接导致 Nginx 容器内的配置文件被覆盖,致使启动失败。
4、通过以下命令在服务器创建好以下挂载目录:
# mkdir -p /home/nginx/ 带了参数 -p 创建以下两个目录的话,这一行不需要
mkdir -p /home/nginx/logs
mkdir -p /home/nginx/html
# -p 参数的作用就是允许创建多级目录
5、先启动一个不挂载目录的容器。
docker run -d --name gis-core-nginx -p 80:80 nginx

此时我们通过服务器 IP 地址访问的话,会看到经典的 Nginx 主页:

然后使用以下命令进入 Nginx 容器:
docker exec -it gis-core-nginx bash
# -it 参数表示以交互式进入容器
# bash 参数表示保留为容器终端的输入形式
进入容器后可以在 /etc/nginx/ 目录下找到 /etc/nginx/nginx.conf 文件和 /etc/nginx/conf.d 目录,其中 /etc/nginx/nginx.conf 文件是 Nginx 的主配置文件,/etc/nginx/conf.d 目录下的 default.conf 文件是默认的 Server 配置文件。

6、从容器中把配置文件复制出来。
通过 exit 命令退出容器终端,然后通过以下命令将下述文件复制出来:
docker cp gis-core-nginx:/etc/nginx/nginx.conf /home/nginx/nginx.conf
docker cp gis-core-nginx:/etc/nginx/conf.d /home/nginx/
docker cp gis-core-nginx:/usr/share/nginx/html /home/nginx/ #网站目录

7、删除刚才启动的容器。
docker ps
docker ps -a #查看所有容器
docker stop gis-core-nginx # gis-core-nginx 容器| 容器ID 也可以,只需要前3位数字即可
docker rm gis-core-nginx
docker rm -f gis-core-nginx #直接删除正在运行的容器

8、启动一个带有挂载目录的容器。
docker run \
-p 80:80 \
--name gis-core-nginx \
-v /home/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx

通过命令 curl localhost:80 测试:


总结
通过上述步骤,我们完成了 Docker 安装 Nginx,后续如果想在 Nginx 部署项目的话,直接将项目代码拷贝到服务器的挂载目录 /home/nginx/html 目录下即可。
如果后续修改了 Nginx 的配置文件,记得通过命令 docker restart gis-core-nginx 重启容器。
更多推荐


所有评论(0)