Docker 是一種流行的容器技術,它可以讓您輕松地部署和運行應用程序。與虛擬機不同,Docker 容器是輕量級的、可移植的,可以在多個平臺上運行。本文將介紹如何在 Docker 上安裝 SSL 證書。
首先在服務器上安裝 Certbot 工具,這是一個開源的 SSL 證書自動化工具:
sudo yum install certbot
接下來運行 Certbot 命令,輸入您的域名,它將自動生成 SSL 證書:
sudo certbot certonly --standalone --email yourname@example.com -d yourdomain.com
稍等片刻,您就會看到 SSL 證書已成功安裝。
接下來,在 Docker 容器中添加 SSL 證書。創建一個名為certs
的目錄并將 SSL 證書復制到該目錄:
mkdir certs
sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem certs/
sudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem certs/
然后將證書添加到 Docker 環境中:
docker run -p 443:443 \
--name myapp \
-v "$(pwd)/certs:/etc/nginx/ssl" \
-v "$(pwd)/app:/usr/share/nginx/html" \
-d nginx
修改 Dockerfile 中的 nginx 配置文件/etc/nginx/conf.d/default.conf
,將以下內容添加到server
塊中:
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
重新構建 Docker 鏡像,運行容器:
docker build -t nginx-ssl .
docker run -p 443:443 \
--name myapp \
-v "$(pwd)/certs:/etc/nginx/ssl" \
-v "$(pwd)/app:/usr/share/nginx/html" \
-d nginx-ssl
現在您可以在瀏覽器中通過 HTTPS 訪問您的應用程序了!