Docker安装Nginx

第一步:拉取镜像

可指定版本,也可不写,则为默认最新版本

第二步:拷贝配置文件

首先运行容器

docker run -d --name nginx -p 8082:8082 nginx

然后复制配置文件到宿主机文件夹,此处的宿主文件夹为自己手动创建,即为 D:/usr/nginx/conf

# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf D:/usr/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d D:/usr/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html D:/usr/nginx/

以下为我的输出结果:

第三步 :停止并删除创建的Nginx容器

#停止容器
docker stop nginx
#删除容器 docker rm nginx

第四步 : 再次运行Nginx

docker run \
-p 9091:80 \
--restart always \
--name nginx \
-v D:/usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v D:/usr/nginx/conf/conf.d:/etc/nginx/conf.d \
-v D:/usr/nginx/log:/var/log/nginx \
-v D:/usr/nginx/html:/usr/share/nginx/html \
-d nginx:latest

-p: 指定宿主机的9091端口映射到容器内部的80端口,不要随便映射,因为80端口是nginx默认使用的端口

--restart :容器重启策略

--name: 给容器起名称

-d: 后台运行

-v: 挂载配置文件、html 目录到宿主机;冒号前为宿主机文件路径,冒号后为挂载到容器中的路径。可以看到宿主机被挂载的三个目录/文件是第一次运行时从容器内拷贝出来的

第五步: 测试

可查看日志: 看到start up 即安装成功

 直接浏览器访问宿主机映射的 91 端口:显示如下界面即安装成功

 

PS: 安装过程中遇到的问题

启动容器时,指定宿主机端口映射到nginx容器内部的端口号时,一定要是80,不能随便映射, 因为80端口是nginx默认使用的端口,可以在Docker可视化界面看到

如若配置失败,则会显示以下信息   80/tcp     not bound , 将启动容器的端口映射改为nginx默认使用的80端口即可

posted @ 2024-08-23 18:26  Lemon1103  阅读(2)  评论(0编辑  收藏  举报