插件窝 干货文章 Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

Docker NGINX sudo bash 564    来源:    2025-04-01

Ubuntu 下通过 Docker 部署 NGINX 服务器详解

前置条件

  • 已安装 Ubuntu 系统(建议 18.04 LTS 或更高版本)
  • 拥有 sudo 权限的用户账户
  • 稳定的网络连接

步骤 1:安装 Docker

1.1 更新软件包索引

sudo apt update

1.2 安装依赖包

sudo apt install apt-transport-https ca-certificates curl software-properties-common

1.3 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

1.4 添加 Docker 仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1.5 安装 Docker 引擎

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

1.6 验证 Docker 安装

sudo docker run hello-world

如果看到欢迎信息,说明 Docker 安装成功。

步骤 2:拉取 NGINX 镜像

2.1 拉取官方 NGINX 镜像

sudo docker pull nginx

2.2 查看已下载的镜像

sudo docker images

应该能看到 nginx 镜像在列表中。

步骤 3:运行 NGINX 容器

3.1 简单运行(不持久化配置)

sudo docker run --name mynginx -p 80:80 -d nginx

3.2 带持久化配置的运行方式(推荐)

# 创建本地目录用于存储配置和网站文件
mkdir -p ~/nginx-docker/{conf,html,logs}

# 复制默认配置到本地目录
sudo docker run --name tmp-nginx -d nginx
sudo docker cp tmp-nginx:/etc/nginx/nginx.conf ~/nginx-docker/conf/
sudo docker cp tmp-nginx:/etc/nginx/conf.d ~/nginx-docker/conf/
sudo docker rm -f tmp-nginx

# 运行带持久化卷的容器
sudo docker run --name mynginx \
    -p 80:80 \
    -v ~/nginx-docker/html:/usr/share/nginx/html \
    -v ~/nginx-docker/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v ~/nginx-docker/conf/conf.d:/etc/nginx/conf.d \
    -v ~/nginx-docker/logs:/var/log/nginx \
    -d nginx

步骤 4:验证 NGINX 运行

4.1 检查容器状态

sudo docker ps

应该能看到 mynginx 容器正在运行。

4.2 访问 NGINX 默认页面

在浏览器中访问 http://localhost 或服务器的 IP 地址,应该能看到 NGINX 欢迎页面。

步骤 5:自定义网站内容

5.1 创建简单 HTML 页面

echo "<h1>Welcome to My NGINX Server</h1>" > ~/nginx-docker/html/index.html

5.2 重新加载 NGINX 配置

sudo docker exec mynginx nginx -s reload

现在刷新浏览器,应该能看到自定义的内容。

步骤 6:常用管理命令

6.1 停止容器

sudo docker stop mynginx

6.2 启动容器

sudo docker start mynginx

6.3 重启容器

sudo docker restart mynginx

6.4 进入容器 shell

sudo docker exec -it mynginx bash

6.5 查看容器日志

sudo docker logs mynginx

步骤 7:配置自动启动(可选)

7.1 设置容器自动启动

sudo docker update --restart unless-stopped mynginx

故障排除

端口冲突

如果 80 端口已被占用,可以改用其他端口:

sudo docker run --name mynginx -p 8080:80 -d nginx

权限问题

如果遇到权限问题,可以尝试:

sudo chmod -R 755 ~/nginx-docker

配置错误

检查 NGINX 配置:

sudo docker exec mynginx nginx -t

通过以上步骤,您已经成功在 Ubuntu 上使用 Docker 部署了 NGINX 服务器,并可以开始托管您的网站内容。