首页 > 解决方案 > Docker 容器不保存状态

问题描述

由于我自己无法对解决方案进行投票,因此感谢snahor指出!什么时候可以阅读..
Dockerfile 明确指出您必须在本地计算机上保留一个卷。
作为将来遇到此问题的旁注。Docker for Windows 和 Volumes 存在已知问题。从 Linux Shell 进行设置将避开这些。 (至少它对我有用)

当我试图使测试框架的几个部分更便携时,其中一个恰好正在访问 Jira,我在 Jira 容器中遇到了以下问题:

我最终使用了来自 Dockerhub cptactionhanks Jira的这张图片,它就像一个魅力。我尝试使用我们的框架访问服务器,该框架也可以工作,然后继续尝试保存容器。

当我exportcommit来自容器(或save来自图像)的 .tar 文件并尝试在之后运行该图像时,我总是回到server-configuration,而当我stop/start的原始容器启动并运行时。
我有点不知所措,为什么它不允许我在这里保存状态?

编辑:由于问题似乎不清楚,所以我做了什么(每一个都是分开
的)像这样启动图像:

docker run --detach --publish 8080:8080 cptactionhank/atlassian-jira:latest

在浏览器中通过http://localhost:8080访问 jira并设置服务器。
尝试保存状态:

docker commit [containerID] commited_img
docker export -o exported_img.tar [containerID]
docker save -o saved_img.tar [imageID]

尝试访问状态:

docker run --publish 8080:8080 commited_img
docker import exported_img.tar jira_exp_img    //running the img afterwards
docker load -i saved_img.tar                  //running the img afterwards

在表中留下咬痕,因为它拒绝一次又一次地保存状态

如果这应该很明显,让我提前道歉,因为我使用 Docker 将近 2 天..

随机思考:
我用自己的标准数据库设置服务器,这有可能在启动时发生冲突吗?

标签: dockerserverexportjirastate

解决方案


您是否尝试过docker save使用exportcommit?它应该创建一个可以导入的 .tar 文件docker load


推荐阅读