1
我想讓我的容器登錄到主機上的目錄/var/log/app
。不幸的是,在容器中進行的更改不被持續存在,例如:碼頭容器通過卷登錄主機
1 - 開始一個容器
sudo docker run -v /var/log/app --entrypoint bash -t -i b18bf31c48d5
2 - 回波一些文件
echo "foo" > /varlog/app/foo.txt
3 - 出口容器
4 - 去檢查/var/log/app
對於foo.txt
它不存在。
任何想法爲什麼發生這種情況?
這是不準確的說,這是用'-v'國旗的問題;只需簡單地映射您的碼頭卷。你不能只傳遞一個'-v'標誌的路徑,如果你想在容器外查看這些日誌文件,你還必須將該路徑映射到主機上的一個位置。左側的路徑是容器內的目錄,冒號右側的路徑是主機上的路徑。 – 2016-09-13 21:07:32
我認爲冒號左邊的路徑是主機上的路徑,而冒號右邊的路徑是容器中的路徑。 – Stephane 2017-04-15 17:54:16
@Stephane你說得對,冒號左側的路徑是主機目錄上的路徑。請參閱[參考](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume) – 2017-05-10 07:55:06