【问题标题】:docker commit the changes,but start errordocker提交更改,但启动错误
【发布时间】:2016-10-19 17:47:19
【问题描述】:

我想保存 docker neo4j 数据库,然后重新启动它以继续使用数据。 首先我运行命令启动neo4j

docker run --publish=7474:7474 --publish=7687:7687 --volume=/Users/wangyiran/project/testplatformV6/data/neo4j1 neo4j:3.0

插入一些数据后,我想提交更改 我使用 docker ps 查找 neo4j continer id 429a3584673b 然后我运行命令来提交更改

docker commit 429a3584673b copy

我通过docker images检查了图像,复制退出

但是当我想重新启动复制图像时

docker start copy

报告

来自守护进程的错误响应:没有这样的容器:复制错误:失败 启动容器:复制

【问题讨论】:

    标签: docker


    【解决方案1】:

    如果您将数据存储在主机操作系统的文件系统中而不是容器上,您将在使用相同的卷参数启动复制映像时获取数据。

    事实上,如果你只提交一个副本并使用副本图像重新启动同一个数据库只是为了数据,你甚至不需要这样做。每次使用您在问题上发布的命令启动 neo4j 图像时:

    docker run --publish=7474:7474 --publish=7687:7687 --volume=/Users/wangyiran/project/testplatformV6/data/neo4j1 neo4j:3.0
    

    您将拥有一个数据库容器,该容器使用存储在 /Users/wangyiran/project/testplatformV6/data/neo4j1 中的数据。如果不是这种情况,您需要将 docker run 命令修改为:

    docker run --publish=7474:7474 --publish=7687:7687 --volume=/Users/wangyiran/project/testplatformV6/data/neo4j1:/var/lib/neo4j/datadirectory neo4j:3.0
    

    您应该知道 --volume 的作用是:--volume /path/to/host/directory:/path/to/container/directory。

    注意:我不知道 neo4j 的数据目录的路径,但很可能不是 /var/lib/neo4j/datadirectory。您必须检查并相应地修改最后一个“docker run”命令

    【讨论】:

    • 谢谢,我运行这个命令 docker run --publish=7474:7474 --publish=7687:7687 --volume=/Users/wangyiran/project/testplatformV6/data/neo4j1:/data neo4j :3.0,它工作!
    【解决方案2】:

    docker commit 将容器保存为新的图像,它不会创建容器的副本。

    您可以使用与原始run 类似的命令从您的映像启动一个新容器:

    docker run --publish=7474:7474 --publish=7687:7687 --volume=/Users/wangyiran/project/testplatformV6/data/neo4j1 copy
    

    所有更改的只是图像名称,您在提交时标记了 copy

    【讨论】:

    • 谢谢,但是如何创建容器的副本来保存数据?
    • 如果您将数据写入容器的文件系统(即不是卷),那么当您 commit 时,它确实会保存到映像中。从提交的图像运行一个新容器,您将拥有保存的数据。如果您将数据保存在位于容器外部的卷中,并且您可以将其与不同的容器一起使用,则无需提交新映像。
    • thanks.i 尝试运行 'docker run --publish=7474:7474 --publish=7687:7687 neo4j:3.0' 然后更改数据,然后运行 ​​'docker commit 100ab0a5db85 copy2',然后我运行 'docker run --publish=7475:7474 --publish=7688:7687 copy2',但在 7475 端口找不到数据,
    猜你喜欢
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2010-10-12
    • 2017-01-07
    • 2018-11-18
    • 1970-01-01
    • 2019-01-31
    • 2018-08-16
    相关资源
    最近更新 更多