安装certbot,用于生成TLS证书
sudo apt-get update && apt-get install -y certbot && apt-get install -y python3-certbot-nginx
通过cerbot生成受信任的证书
# 通过certbot生成TLS证书,需要已注册的域名,不支持localhost
certbot --nginx
# certbot certonly --nginx
编写Dockerfile文件:
sudo vim /home/pc/Nginx/Dockerfile
# 使用官方的NGINX镜像作为基础镜像
FROM nginx
# 将本地的NGINX配置文件复制到容器中
COPY nginx.conf /etc/nginx/nginx.conf
# 安装certbot,用于生成TLS证书
RUN apt-get update \
&& apt-get install -y certbot \
&& apt-get install -y python3-certbot-nginx
构建Docker镜像:
docker run --name=Nginx -d -p 80:80 -p 443:443 --restart=always m_nginx_img
docker run --name=Nginx -p 80:80 -p 443:443 -v /home/pc/Nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/pc/Nginx/log/:/var/log/nginx/ m_nginx_img
docker exec -it Nginx bash
生成证书
# 先进入容器内
docker exec -it Nginx bash
# 生成证书
certbot --nginx
# certbot certonly --nginx
重启容器生效
docker restart Nginx