簡體   English   中英

nginx docker 容器不會在啟動時啟動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM