运行配置 Nginx 容器
前言
本文简记运行、配置 Nginx 容器的过程。
启动 Nginx 容器
拉取 Nginx 镜像
-
命令:
sudo docker pull nginx:latest
编写 dockr-compose.yml 文件
-
在
/opt
目录下创建文件夹docker_nginx
。sudo mkdir docker_nginx
-
编写 dockr-compose.yml 文件。
volumes:
指定挂载的文件夹,可以通过改写宿主机指定的目录下的文件来改写容器指定的目录下的文件。
version: '3.1' services: nginx: restart: always image: nginx:latest container_name: nginx ports: - 80:80 - 443:443 volumes: - /opt/docker_nginx/conf.d:/etc/nginx/conf.d
-
保存退出。
运行 dockr-compose.yml 文件
-
安装 docker-compose 。
sudo apt install docker-compose
-
在 dockr-compose.yml 文件所在的目录下,命令:
# 检查设置 sudo docker-compose build # 运行容器 sudo docker-compose up -d # 暂停容器 sudo docker-compose stop # 删除容器 sudo docker-compose down
配置 Nginx 容器
-
Nginx 容器的根设定 nginx.conf 文件,是在容器
/etc/nginx
目录下的,其中导入了反向代理的文件。默认反向代理的文件 default.conf 在 容器
/etc/nginx/conf.d
目录下,运行容器时指定宿主机目录/opt/docker_nginx/conf.d
挂载到了该目录,可以直接在宿主机中改变反向代理配置文件。 -
先删除之前的容器。在 dockr-compose.yml 文件所在的目录下,命令
sudo docker-compose down
-
如果尝试过访问运行 Nginx 容器之后服务器 IP ,就可以获得回复:
无法访问此网站 IP 拒绝了我们的连接请求。 请试试以下办法: 检查网络连接 检查代理服务器和防火墙 ERR_CONNECTION_REFUSED
这时由于挂载了
/opt/docker_nginx/conf.d
目录到/etc/nginx/conf.d
之后,容器不会再在容器目录/etc/nginx/conf.d
下创建文件,下一步来创建 default.conf 文件。 -
/opt/docker_nginx/conf.d
目录下创建一个最简单的 default.conf 文件。server{ listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }
-
重新创建运行 Nginx 容器:
# 检查设置 sudo docker-compose build # 运行容器 sudo docker-compose up -d
-
之后的所有对 default.conf 文件的更改都只需要在
/opt/docker_nginx/conf.d
目录下执行以下命令:sudo docker-compose restart
-
当然,要添加开放端口等而改动 dockr-compose.yml 文件内信息后,都需要重新删除再创建运行容器。
测试容器
-
default.conf 文件监听的是 80 端口,直接访问服务器 IP 地址即可。