安裝certbot,用于生成TLS證書(shū)
sudo apt-get update && apt-get install -y certbot && apt-get install -y python3-certbot-nginx
通過(guò)cerbot生成受信任的證書(shū)
# 通過(guò)certbot生成TLS證書(shū),需要已注冊(cè)的域名,不支持localhost
certbot --nginx
# certbot certonly --nginx
編寫(xiě)Dockerfile文件:
sudo vim /home/pc/Nginx/Dockerfile
# 使用官方的NGINX鏡像作為基礎(chǔ)鏡像
FROM nginx
# 將本地的NGINX配置文件復(fù)制到容器中
COPY nginx.conf /etc/nginx/nginx.conf
# 安裝certbot,用于生成TLS證書(shū)
RUN apt-get update \
&& apt-get install -y certbot \
&& apt-get install -y python3-certbot-nginx
構(gòu)建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
生成證書(shū)
# 先進(jìn)入容器內(nèi)
docker exec -it Nginx bash
# 生成證書(shū)
certbot --nginx
# certbot certonly --nginx
重啟容器生效
docker restart Nginx