【问题标题】:persist data in docker - persist websphere applications in docker在 docker 中持久化数据 - 在 docker 中持久化 websphere 应用程序
【发布时间】:2018-03-19 10:50:08
【问题描述】:

我是 docker 的初学者...

我能够使用 websphere 运行 docker 映像并在其中部署一个简单的 java 应用程序(只是为了测试它)。

docker run --name test -h test -p 9043:9043 -p 9443:9443 -d ibmcom/websphere-traditional

容器星号正确,因此我可以通过 whebsphere 控制台部署我的应用程序。

当我停止容器时,很明显,我放在 websphere 中的数据会丢失。

docker stop test   
docker rm test

只有docker stop test,数据不会丢失,但我需要关闭docker机器(docker-machine stop,我的是开发环境)。

所以我尝试用一​​个卷来启动容器......

docker run --name test -h test -p 9043:9043 -p 9443:9443 -d --mount source=myfirstvolume,destination=/myfirstvolumemounted ibmcom/websphere-traditional

我想,这还不足以让容器保留我安装的应用程序

【问题讨论】:

    标签: docker websphere docker-volume


    【解决方案1】:

    当您docker run 一个容器时,您正在从指定的图像创建该容器的一个实例并启动它。创建容器后,您可以简单地 docker startdocker stop WebSphere App Server 容器,而不会丢失您保存到配置存储库中的任何 WAS 数据,就像您在容器外运行 WAS 一样.如果您将应用程序安装到 WAS 并保存配置,则在停止并重新启动容器后仍会安装该应用程序。

    【讨论】:

    • 有机会以长期持久的方式保存配置吗?只是为了发展目的?关闭机器,打开机器......等等
    • WAS 配置库是使用您的术语的“长期持久的方式”。默认情况下,config repo 驻留在磁盘上,因此不受“关闭机器,打开机器”的影响。这不是您看到的行为吗?
    • 不,当我关闭 docker-machine 时,我添加或修改的所有数据都会丢失。我使用了这个图像:hub.docker.com/r/ibmcom/websphere-traditional 在这个 docker 注册表上还有一个带有配置文件的图像,我需要“配置文件”吗?我是 websphere 的新手,所以我不知道“个人资料”的确切作用是什么,如果我需要它
    • 您必须至少有一个配置文件才能使用 WAS,但是当您 docker 运行上面的映像时,它会创建一个。安装映像已创建一次,因此您可以使用其中任何一个。请编辑您的问题以显示您正在使用的确切顺序和命令,即,在您 docker run 之后,您会做什么,您使用什么命令来停止 WAS 容器。当您说“关闭 docker 机器”时,您的意思是物理关闭 docker 容器正在运行的主机还是容器本身?
    • 对于未来的 SO 问题,请始终描述环境的关键部分,例如 virtualbox 等,这些细节很重要。很多。当然,您正在丢失已安装的 WAS 应用程序,您认为“docker rm 测试”会做什么?别那样做。只需执行“docker stop test”即可。当您关闭 virtualbox 虚拟机时,只需告诉它保存虚拟机的状态,下次启动它时,只需“docker start test”,您的应用程序仍然会安装。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 2016-12-30
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多