【发布时间】:2016-03-13 18:49:27
【问题描述】:
我有一个需要构建后配置文件才能工作的 docker 映像。这些通常放置在容器中挂载的主机目录上,即docker run -v /src/config:/usr/local/config ...
这也可以在 Bluemix 上完成吗?即创建一个卷,上传文件然后启动容器?
【问题讨论】:
标签: upload containers ibm-cloud volume
我有一个需要构建后配置文件才能工作的 docker 映像。这些通常放置在容器中挂载的主机目录上,即docker run -v /src/config:/usr/local/config ...
这也可以在 Bluemix 上完成吗?即创建一个卷,上传文件然后启动容器?
【问题讨论】:
标签: upload containers ibm-cloud volume
Bluemix 确实有 recommended approaches for adding files to a volume.
总结一下,推荐两种方法:
(1) 容器启动后使用容器内的wget (cf ic exec) 将数据下载到卷挂载文件夹。
(2) 添加文件作为镜像构建的一部分,并创建一个容器启动脚本,将文件从容器中的文件夹复制到卷挂载文件夹。
无论采用哪种方式,都需要将一个volume挂载到一个容器中,并且需要启动容器通过容器将文件添加到该volume中。
【讨论】:
是的,您可以创建一个卷供 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
【讨论】:
cf ic volume create ...),启动一个映射了该卷的“辅助”容器,然后在其中运行某种“服务器”容器(即 ssh/http/ftp 服务器),从而允许将文件上传到该卷上。上传文件后,可以停止 aux 容器,因为文件保留在卷上(它是持久的),主容器可以继续其业务并完成构建后配置。