将数据绑定到db容器

时间:2017-02-09 07:03:17

标签: docker

我有一个测试数据,我将其构建为Docker镜像(docker build with copy to / db / data)并推送到docker hub。

我想运行一个将使用该数据的数据库实例。

我希望能够:

  1. 运行" docker create"并从图像创建一个容器并将其映射到一个卷(可能是命名卷),这实际上将数据复制到该卷。
  2. 运行#34; docker run"使用volume-from并将数据从第一个容器映射到第二个容器。
  3. 当我试用它时,我总是看到第二个目录中有一个文件夹映射,但我无法从数据容器中获取任何预先填充的数据。

1 个答案:

答案 0 :(得分:0)

--volumes-from会将Docker容器中的“Volume”添加到另一个容器中。

如果您创建了包含数据的图片,则表示您未创建包含数据的

Docker目前支持以下内容:

  • 在两个服务中列为绑定装载的主机绑定装载
  • 两个服务使用的命名卷
  • volumes_from另一项服务

例如,如果您在docker host上的/ my / data中有数据,则可以使用以下命令:

sudo docker run -d --name firstcontainer -v /my/data:/db/data <image name>
sudo docker run -d --name secondcontainer -v /my/data:/db/data <image name>

如果要使用命名卷,请执行以下步骤:

  1. 创建指定的卷

    sudo docker volume create <volumename>
    
  2. 将其安装到过渡容器中,并使用docker cp

    复制其中的数据
    sudo docker cp /path/to/your/file <containername>:/destination/path
    
  3. 将您指定的卷挂载到多个容器上。

    sudo docker run -d --name firstcontainer -v <volumename>:/db/data <image name>
    sudo docker run -d --name secondcontainer -v <volumename>:/db/data <image name>