[英]nginx docker container won't start at boot
我有一個nginx
Docker 容器,它可以從命令行正常運行,但不會在啟動時重新啟動。 它以--restart=on-failure
開始,我知道它也應該在啟動時啟動它(它在我的其他 Docker 容器上肯定是這樣工作的)。
docker run --name nginx --restart=on-failure --detach --mount type=bind,source=/etc/ssl,target=/etc/ssl,readonly --mount type=bind,source=/etc/pki,target=/etc/pki,readonly --mount type=bind,source=/etc/letsencrypt,target=/etc/letsencrypt,readonly -p 443:443 -d nginx
任何想法為什么會出現這種情況,或者我如何找出令人不安的原因? docker logs nginx
什么也沒給我,只是機器關閉結束時的日志。 這是在 Centos 8 上,如果重要的話, nginx
配置文件包含:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name myurl.net;
ssl_certificate /etc/letsencrypt/live/myurl.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myurl.net/privkey.pem;
ssl_client_certificate /etc/ssl/certs/my_ca.crt;
ssl_crl /etc/ssl/CA/ca.crl;
ssl_verify_client on;
location / {
proxy_pass http://172.17.0.1:8080/;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
... location
線位於本地 docker.network 上,讓nginx
與另一個運行 HTTP 服務器的容器 docker 交談,最終執行服務( nginx
只是在循環中通過 SSL 執行客戶端身份驗證)。 this.network 位是否會以某種方式引起問題?
正如@triplee 指出的那樣, --restart=on-failure
在機器重新啟動時實際上並沒有啟動 Docker 容器,它似乎只在某些情況下執行此操作,如果有問題的 Docker 圖像在系統關閉時沒有正常退出:圖像似乎失敗,因此 Docker 將在機器恢復時重新啟動它。
確保行為良好的 Docker 圖像(像nginx
圖像那樣優雅地退出並因此不會引發錯誤)的正確指令是使用--restart=always
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.