我對docker.
我按照此處syncthing的說明在docker容器中安裝和運行。
效果很好,但是當我重新啟動 PC 時,它會自動啟動syncthingdocker 容器,但是 .sh 檔案中沒有額外的設定(沒有卷,我認為沒有其他設定)——就像它運行的容器只有默認設定 - 不會與任何其他設備同步,除了默認共享等。
當我嘗試從syncthing_run.sh腳本運行 syncthing 時,它抱怨說已經有一個以該名稱運行的 docker 容器syncthing,我需要洗掉或重命名該容器才能以該名稱運行。
sudo docker stop syncthing通過停止已經運行的容器,然后--name從腳本中洗掉該行,我能夠使用所有設定再次運行它:
IDu=$(id -u $(logname)) # Saves the logged in user id in the IDu variable
IDg=$(id -g $(logname)) # Saves the logged in user group in the IDg variable
docker run -d \
--name syncthing \ # <------------- removed this line
--hostname=syncthing-redacted \
--network=host \
-v $PWD/st-sync/:/var/syncthing/ \
-v $PWD/data/:/var/syncthing/data/ \
-v /redacted/:/var/syncthing/redacted/ \
-e TZ="Australia/Sydney" \
-e PUID=$IDu \
-e PGID=$IDg \
--restart=unless-stopped \
syncthing/syncthing:latest
然后運行sudo ~/docker/syncthing/syncthing_run.sh。
它現在似乎運行良好,但我認為它創建了一個新容器?當我跑步時sudo docker container ls -a | grep syncthing,我得到:
88e447e1cd78 syncthing/syncthing:latest "/bin/entrypoint.sh …" 27 minutes ago Up 27 minutes (healthy)
7dd04d0701a7 syncthing/syncthing:latest "/bin/entrypoint.sh …" 12 days ago Exited (0) 34 minutes ago
我怎樣才能修復所有問題,以便容器在啟動時自動運行,但使用 .sh 腳本中的正確設定以及正確的名稱syncthing??
另外,我怎樣才能洗掉重復的容器,在不丟失任何資料的情況下這樣做對我來說是否安全?
uj5u.com熱心網友回復:
我發現了這一點docker run并且docker start是不同的。docker run創建并啟動一個新容器。
重啟后我應該做的是sudo docker start syncthing。
再次運行腳本創建了一個新容器。我不得不用 停止正在運行的容器,sudo docker stop 88e447e1cd78然后用 洗掉它sudo docker rm 88e447e1cd78。
我想我可以sudo docker start syncthing在那之后使用,但我也洗掉了舊容器,然后在重新啟用該--name行后再次運行腳本以創建一個新容器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/534436.html
標籤:码头工人Ubuntu同步
