容器化部署(Nginx示例)

1. 寻找 Nginx 镜像

  • 在 Docker Hub 或其他镜像仓库中搜索 Nginx 镜像。

2. 下载 Nginx 镜像

命令

命令 描述
docker pull nginx 下载最新版 Nginx 镜像(等同于 docker pull nginx:latest
docker pull nginx:xxx 下载指定版本的 Nginx 镜像(xxx 为具体版本号)

检查当前所有 Docker 下载的镜像

docker images

3. 创建 Nginx 配置文件

在启动容器前,需创建 Nginx 外部挂载的配置文件(/docker/nginx)。
原因:Nginx 容器默认只包含 /etc/nginx 目录,不包含 nginx.conf 文件。如果宿主机和容器均无 nginx.conf 文件,启动容器时 Docker 会将 nginx.conf 创建为目录,导致错误。

创建挂载目录

mkdir -p /docker/nginx
mkdir -p /docker/nginx/log
mkdir -p /docker/nginx/html

将容器中的配置文件复制到宿主机

# 生成一个临时容器
docker run --name nginx -p 8080:80 -d nginx

# 将容器中的 nginx 配置文件夹复制到宿主机
docker cp nginx:/etc/nginx /docker/nginx

# 将容器中的 Nginx 日志文件夹复制到宿主机
docker cp nginx:/etc/nginx/log /docker/nginx/log

# 将容器中的 html 文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /docker/nginx/html

4. 创建并运行 Nginx 容器

停止并删除临时容器

# 查看容器 ID
docker ps -a

# 停止容器
docker stop nginx

# 删除容器
docker rm nginx

# 强制删除正在运行的容器
docker rm -f nginx

创建 Nginx 容器(单行和多行模式二选一)

多行模式

docker run \
-p 8080:80 \
--name nginx \
-v /docker/nginx:/etc/nginx \
-v /docker/nginx/log:/var/log/nginx \
-v /docker/nginx/html:/usr/share/nginx/html \
-d nginx:latest

命令参数说明

命令参数 描述
--name nginx 指定容器名称
-d 后台运行容器
-p 9002:80 将容器 80 端口映射到宿主机 9002 端口
-v /docker/nginx:/etc/nginx 挂载 Nginx 配置文件目录
-v /docker/nginx/log:/var/log/nginx 挂载 Nginx 日志目录
-v /docker/nginx/html:/usr/share/nginx/html 挂载 Nginx 内容目录
nginx:latest 指定运行的镜像版本
\ Shell 命令换行

单行模式

docker run -p 8080:80 --name nginx -v /docker/nginx:/etc/nginx -v /docker/nginx/log:/var/log/nginx -v /docker/nginx/html:/usr/share/nginx/html -d nginx:latest

5. 结果检测

  • 检查容器运行状态,确认服务是否正常启动。

6. 修改内容并展示

重启容器

docker restart nginx

访问http://IP:8080,显示 Nginx 的页面

梦葉樱 all right reserved,powered by Gitbook该文件最后修改时间: 2025-08-01 21:36:02

results matching ""

    No results matching ""