Docker 安装 Nginx 与 部署(改变端口号的配置)

it2022-05-05  180

Docker 安装 Nginx

之所以用Nginx容器,万一哪里改乱了,直接删掉,再重启一个容器就可以了。

查找 Docker Hub 上的 nginx 镜像:
docker search nginx ...
拉取官方的镜像:
docker pull nginx
等待下载完成后,可以在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像:
docker images nginx
使用 NGINX 默认的配置来启动一个 Nginx 容器实例:
docker run --name runoob-nginx-test -p 8081:80 -d nginx runoob-nginx-test: 容器名称。-p: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。-d: 设置容器在在后台一直运行。

执行以上命令会生成一串字符串,类似 d89de7fa61e54d8270965fdfbd196c1db71845f04e4f27a788db4d62656220e3,这个表示容器的 ID,一般可作为日志的文件名。

使用 docker ps 命令查看容器是否有在运行:

docker ps

PORTS 部分表示端口映射,本地的 8081 端口映射到容器内部的 80 端口。

在浏览器中打开 http://127.0.0.1:8081/,效果如下:

nginx 部署

首先,创建目录 nginx, 用于存放后面的相关东西:
mkdir -p ~/nginx/helloNginx ~/nginx/logs ~/nginx/conf
拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
docker cp d89de7fa61e:/etc/nginx/nginx.conf ~/nginx/conf helloNginx: 目录将映射为 nginx 容器配置的虚拟目录。logs: 目录将映射为 nginx 容器的日志目录。conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
部署命令:
docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/helloNginx:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

命令说明:

-p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。--name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。-v ~/nginx/helloNginx:/usr/share/nginx/html:将我们自己创建的 helloNginx 目录挂载到容器的 /usr/share/nginx/html。-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
启动以上命令后进入 ~/nginx/helloNginx 目录:
cd ~/nginx/helloNginx
创建 index.html 文件,输出结果为:

⚠️注意:如果想输入127.0.0.1:8082 直接打开网页,一定要将html文件命名为 index.html,否则要在网址后加上/文件名.html。

?推荐阮一峰的相关教程:

Nginx容器教程


最新回复(0)