我有一個需要生成後配置文件才能工作的docker映像。這些通常放置在容器中安裝的主機目錄中,即docker run -v /src/config:/usr/local/config ...
將文件放置在Bluemix容器卷
這也可以在Bluemix上完成嗎?即創建一個卷,上傳文件然後啓動容器?
我有一個需要生成後配置文件才能工作的docker映像。這些通常放置在容器中安裝的主機目錄中,即docker run -v /src/config:/usr/local/config ...
將文件放置在Bluemix容器卷
這也可以在Bluemix上完成嗎?即創建一個卷,上傳文件然後啓動容器?
是的,您可以創建一個IBM容器使用的卷。
下面是創建一個新卷的命令:
$ cf ic volume create vol_name
卷創建後,你就可以開始你的容器是這樣的:
$ cf ic run -v vol_name:/usr/local/config --name my_container my_image
可以在鏈路上卷閱讀完整的文檔如下:
https://console.ng.bluemix.net/docs/containers/container_creating_ov.html#container_volumes_ov
B luemix確實有recommended approaches for adding files to a volume.
總之,兩種方法建議:
(1)使用wget
容器(cf ic exec
)內一旦容器開始下載數據到卷安裝文件夾。 (2)將文件作爲圖像構建的一部分添加,並創建一個容器啓動腳本,該腳本將文件從容器中的文件夾複製到卷裝入文件夾。
無論採用何種方法,都需要將卷掛載到容器,然後啓動容器以通過容器將文件添加到卷中。
上面的鏈接(https://console.ng.bluemix.net/docs/containers/container_creating_ov.html#container_volumes_mount)帶來了404頁面。哪裏會是當前版本的這個頁面? –
試試這個:https://console.bluemix.net/docs/containers/container_volumes_ov.html#container_volumes_mount –
問題的核心是能夠將文件上傳到卷,而不是卷創建或映射。 – j4zzcat
我想到,我可以用通常的方式創建一個卷('cf ic volume create ...'),啓動一個映射了該卷的'輔助'容器,然後在該容器中運行某種「服務器」 (即,ssh/http/ftp服務器),從而允許將文件上傳到該卷。文件上傳完成後,輔助容器可以停留在文件保留在捲上(它是持久的),主容器可以關閉其業務並完成構建後配置。 – j4zzcat
是的,這是正確的。 –