步骤 1:安装 Docker
如果尚未安装 Docker,请先根据系统执行以下命令:
Ubuntu/Debian
# 更新软件包列表
sudo apt-get update
# 安装依赖工具
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 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
# 安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
sudo docker --version
CentOS
# 安装依赖
sudo yum install -y yum-utils
# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
sudo docker --version
macOS
访问 Docker Desktop for Mac 下载安装包并运行。
步骤 2:拉取 Nginx 镜像
从 Docker Hub 下载官方 Nginx 镜像:
sudo docker pull nginx:latest
- :latest表示使用最新版本,可替换为特定版本号(如 nginx:1.23.3)
步骤 3:运行 Nginx 容器
基础运行
sudo docker run -d --name my-nginx -p 80:80 nginx
- -d: 后台运行容器
- --name my-nginx: 指定容器名称
- -p 80:80: 将宿主机 80 端口映射到容器 80 端口
验证运行
curl http://localhost
或浏览器访问 http://你的服务器IP,看到 Nginx 欢迎页面即成功。
步骤 4:自定义配置和静态文件
挂载本地目录
创建本地目录:
mkdir -p ~/nginx-demo/{html,conf}
复制默认配置(可选):
# 临时启动容器并复制配置
docker run --name temp-nginx -d nginx
docker cp temp-nginx:/etc/nginx/nginx.conf ~/nginx-demo/conf/
docker rm -f temp-nginx
运行容器并挂载目录:
docker run -d --name my-nginx \
-p 80:80 \
-v ~/nginx-demo/html:/usr/share/nginx/html \
-v ~/nginx-demo/conf/nginx.conf:/etc/nginx/nginx.conf \
nginx
- -v: 挂载宿主机目录到容器内
- 静态文件存放于 ~/nginx-demo/html
- 自定义配置文件为 ~/nginx-demo/conf/nginx.conf
步骤 5:修改静态文件测试
创建测试页面:
echo "Hello Docker Nginx!
" > ~/nginx-demo/html/index.html
重启容器应用更改:
docker restart my-nginx
刷新浏览器,页面将显示 "Hello Docker Nginx!"。
步骤 6:管理容器
查看运行中的容器:
docker ps
停止容器:
docker stop my-nginx
启动已停止的容器:
docker start my-nginx
删除容器:
docker rm -f my-nginx
查看容器日志:
docker logs my-nginx
步骤 7:清理资源(可选)
删除镜像:
docker rmi nginx:latest
常见问题
- 端口冲突:确保宿主机 80 端口未被占用。
- 权限问题:Linux 用户若遇到权限错误,可在命令前加 sudo 或 将用户加入 docker 组。
- 配置错误:修改 nginx.conf 后可通过 docker exec my-nginx nginx -t 检查语法。