1. docker nginx https 配置
注册域名(自行 阿里云 APP - 运维 - 域名注册)
- 底部点击
运维
-域名注册
- 域名注册 页面,输入自己喜欢的域名按照流程注册即可
域名 ICP 备案(自行 阿里云 APP - 运维 - ICP 备案)
- 底部点击
运维
-ICP备案
- ICP 备案 添加自己的网站信息 - 需要正确书写 网站情况,需要工信部审核通过才可以(一般需要 3~5 个工作日)
阿里云域名解析(首次)
阿里云网站登录后
右上角 - 点击
控制台
搜索
域名
点击 控制台 -
域名
阿里云 ssl 证书申请(免费)
阿里云网站登录后
右上角 - 点击
控制台
搜索
ssl
点击
数字证书管理服务(原SSL证书)
点击左边 ssl 证书
免费证书
创建证书
输入域名名称 - 勾选 快捷签发 - 提交审核
下载 nginx ssl 证书
选择 nginx 相关证书下载
nginx 添加 ssl 证书
- 创建 nginx.conf 文件:
nginx
server {
listen 443 ssl; # 监听 443 端口并启用 SSL
server_name yourdomain.com; # 为特定域名设置服务器
# 指定 SSL 证书和密钥文件的位置
ssl_certificate /etc/nginx/ssl/yourdomain.com.crt; # SSL 证书文件
ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key; # SSL 密钥文件
# 配置网站的根目录和首页文件
location / {
root /usr/share/nginx/html; # 网站的根目录
index index.html; # 网站的默认首页文件
}
}
- 创建 Dockerfile
dockerfile
# 使用最新的官方 Nginx 镜像作为基础镜像
FROM nginx:latest
# 将本地的 Nginx 配置文件复制到镜像中的 Nginx 配置目录
COPY ./nginx.conf /etc/nginx/nginx.conf
# 将 SSL 证书和密钥文件复制到镜像中的指定位置
COPY ./yourdomain.com.crt /etc/nginx/ssl/yourdomain.com.crt
COPY ./yourdomain.com.key /etc/nginx/ssl/yourdomain.com.key
# 将容器的 443 端口暴露出来,供外部访问 HTTPS 服务
EXPOSE 443
- 构建和运行 Docker 容器
bash
# 构建 Docker 镜像,镜像名为 my-nginx-https,基于当前目录下的 Dockerfile
docker build -t my-nginx-https .
# 在后台运行一个 Docker 容器,容器名为 my-nginx-https,将主机的 443 端口映射到容器的 443 端口
docker run -d -p 443:443 my-nginx-https
- docker-compose.yml 文件
yml
version: "3.8" # 使用 Docker Compose 文件版本 3.8
services:
nginx:
image: my-nginx-https # 使用上面构建的 Docker 镜像
ports:
- "443:443" # 将容器的 443 端口映射到主机的 443 端口
volumes:
- ./ssl:/etc/nginx/ssl # 将主机的 ./ssl 目录映射到容器的 /etc/nginx/ssl 目录
- ./site:/usr/share/nginx/html # 将主机的 ./site 目录映射到容器的网站根目录
restart: always # 如果容器退出,总是尝试重启容器
这里的 volumes 配置允许你将 SSL 证书和网站内容从宿主机挂载到容器中,这样就可以不必每次证书或网站内容更新时重新构建镜像。这样做也方便了证书的更新和网站内容的管理。
请确保你的目录结构中包含了正确的 SSL 证书路径和网站内容的路径。此外,docker-compose.yml 文件应该放在包含 ssl 和 site 文件夹的同一目录下。这样,Docker Compose 就可以正确地映射这些卷到你的容器中。
部署到云服务器
要使用 Docker Compose 运行定义在 docker-compose.yml
文件中的服务,你首先需要确保已经安装了 Docker Compose。接下来,你可以在包含 docker-compose.yml
文件的目录中运行以下命令:
启动服务
启动所有服务(在后台运行):
bashdocker-compose up -d
这个命令会读取
docker-compose.yml
文件,并启动里面定义的所有服务。-d
标志意味着容器将在后台运行。启动特定服务(如果你的
docker-compose.yml
文件中定义了多个服务):bashdocker-compose up -d <服务名>
替换
<服务名>
为你想要启动的服务名称。
查看服务状态
- 查看正在运行的服务状态:bash这个命令会列出所有在当前 Docker Compose 项目下运行的容器的状态。
docker-compose ps
停止服务
- 停止所有服务:bash这个命令会停止所有服务并删除所有相关容器。注意,这不会删除挂载的卷,除非你额外使用
docker-compose down
-v
参数。
查看日志
- 查看服务的日志:bash这个命令会显示所有服务的日志输出。如果你只想查看某个特定服务的日志,可以使用:
docker-compose logs
bashdocker-compose logs <服务名>
这些基本命令应该可以帮助你管理使用 Docker Compose 定义的容器。 通过这些命令,你可以轻松控制容器的启动、停止、监控状态以及访问日志。
云服务器端口放行
进入轻应用服务器实例 - 设置端口放行