【Nginx】在 Docker 上安装 Nginx 的详细指南
目录
1. 引言
Docker 是一个开源的容器化平台,允许开发者将应用及其依赖项打包到一个可移植的容器中。本文将介绍如何在 Docker 中安装和配置 Nginx,包括 SSL 的设置。
2. 准备工作
2.1 安装 Docker
确保你的系统上已安装 Docker。如果尚未安装,可以按照以下步骤进行安装:
在 Ubuntu 上安装 Docker
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
在 CentOS 上安装 Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
2.2 拉取 Nginx 镜像
使用以下命令拉取最新的 Nginx 镜像:
docker pull nginx
3. 创建 Nginx 配置文件
在主机上创建一个目录用于存放 Nginx 配置文件:
mkdir -p ~/nginx
在该目录下创建 nginx.conf
配置文件,内容如下:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
4. 创建 Dockerfile
在同一目录下创建 Dockerfile
,内容如下:
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY ./html /usr/share/nginx/html
5. 准备 SSL 证书
将你的 SSL 证书和私钥放入一个目录,例如 ~/nginx/ssl
:
mkdir ~/nginx/ssl
# 将证书和私钥文件复制到 ~/nginx/ssl
确保修改 nginx.conf
中的路径指向正确的 SSL 证书和私钥位置。
6. 构建 Docker 镜像
在 ~/nginx
目录下执行以下命令构建 Docker 镜像:
docker build -t my-nginx .
7. 运行 Nginx 容器
使用以下命令启动 Nginx 容器:
docker run -d -p 80:80 -p 443:443 --name nginx-server my-nginx
8. 测试配置
在浏览器中访问 http://yourdomain.com
和 https://yourdomain.com
,确保 Nginx 正常运行并提供 SSL 支持。
9. 续订和更新 SSL 证书
若使用 Let’s Encrypt,可以通过 Certbot 在 Docker 中运行。可以使用 Docker Compose 或者创建一个单独的容器来管理证书续订。
总结
通过以上步骤,你可以在 Docker 中成功安装和配置 Nginx,同时启用 SSL。容器化的 Nginx 部署使得管理和扩展变得更加容易。
参考资料
希望这个指南能帮助你在 Docker 上成功部署 Nginx!如果有任何疑问或需要进一步的帮助,请随时问我!
原文地址:https://blog.csdn.net/Stromboli/article/details/142367669
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!