【问题标题】:Place files on a Bluemix container volume将文件放在 Bluemix 容器卷上
【发布时间】:2016-03-13 18:49:27
【问题描述】:

我有一个需要构建后配置文件才能工作的 docker 映像。这些通常放置在容器中挂载的主机目录上,即docker run -v /src/config:/usr/local/config ...

这也可以在 Bluemix 上完成吗?即创建一个卷,上传文件然后启动容器?

【问题讨论】:

    标签: upload containers ibm-cloud volume


    【解决方案1】:

    Bluemix 确实有 recommended approaches for adding files to a volume.

    总结一下,推荐两种方法:

    (1) 容器启动后使用容器内的wget (cf ic exec) 将数据下载到卷挂载文件夹。

    (2) 添加文件作为镜像构建的一部分,并创建一个容器启动脚本,将文件从容器中的文件夹复制到卷挂载文件夹。

    无论采用哪种方式,都需要将一个volume挂载到一个容器中,并且需要启动容器通过容器将文件添加到该volume中。

    【讨论】:

    【解决方案2】:

    是的,您可以创建一个卷供 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 容器,因为文件保留在卷上(它是持久的),主容器可以继续其业务并完成构建后配置。
    猜你喜欢
    • 2016-05-18
    • 2017-07-29
    • 2016-05-11
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多