暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker安装nginx

IT那活儿 2025-06-16
131

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


拉取镜像

1.1 下载最新版Nginx镜像 (等同于: docker pull nginx:latest)

docker pull nginx

1.2 下载指定版本的Nginx镜像 (xxx指具体版本号)

docker pull nginx:xxx

挂载目录

2.1 启动前需要先创建Nginx外部挂载的配置文件/home/nginx/conf/nginx.conf

如果在第一次启动的时候就挂载目录,由于宿主机是空文件,会直接导致Nginx容器内的配置文件被覆盖,导致启动失败。

需要在宿主机创建Nginx挂载目录,将Nginx容器内的目录挂载到宿主机:

  • -p参数的作用

    允许创建多级目录。

2.2 容器中的nginx.conf文件、conf.d文件夹和html文件夹复制到宿主机

# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html home/nginx/


创建容器并运行

3.1 直接执行docker rm nginx或者以容器id方式关闭容器

找到nginx对应的容器id:

docker ps -a

关闭该容器:

docker stop nginx

删除该容器:

docker rm nginx

删除正在运行的nginx容器:

docker rm -f nginx

3.2 启动nginx

docker run \
-p 9002:80 \
--name nginx \
-v home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

参数解释:

  • -p

    端口映射,冒号前为宿主机端口,冒号后为容器内的端口,将容器的9002端口映射到主机的80端口;

  • --name

    指定容器名称,本例中名称为 nginx;

  • -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf

    挂载nginx.conf配置文件;

  • -v /home/nginx/conf/conf.d:/etc/nginx/conf.d

    挂载nginx配置文件;

  • -v /home/nginx/log:/var/log/nginx

    挂载nginx日志文件;

  • -v /home/nginx/html:/usr/share/nginx/html

    挂载nginx内容;

  • -d

    后台运行容器;

  • nginx:latest

    本地运行的版本;

  • \

    shell命令换行。

3.3 检测结果

curl 127.0.0.1:9002


END


本文作者:朱珂珂(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论