【问题标题】:Docker - commit container with running processes (postgresql)Docker - 带有正在运行的进程的提交容器(postgresql)
【发布时间】:2015-01-16 02:27:22
【问题描述】:

是否可以提交一个运行 postgresql 的容器以便立即准备好?我曾尝试使用启动脚本、CMD 和 bashrc 来启动 postgresql,使用时都可以正常启动

docker run -it [containerID]

但是登录后大约需要 3-5 秒才能启动 postgresql。不幸的是,我需要在登录时运行 postgresql。

使用这种方法...

docker build -t [名称]

docker run -it [containerId]

然后在容器内部运行

服务 postgresql 启动

并使用 ctrl p + q 分离。一旦分离,我会提交

docker 提交 [containerId] [名称]

运行新镜像时,postgresql 没有运行,锁定文件被留下。是否可以提交这样的正在运行的服务,或者有没有办法在运行映像时准备好 postgresql?

【问题讨论】:

    标签: docker


    【解决方案1】:

    图像只是一组没有进程的文件,所以问题没有意义。当您从映像启动容器时,进程将在此处启动 - 进程仅存在于执行容器中,当容器停止时不再有进程 - 只有容器文件系统中的文件。

    【讨论】:

    • 感谢您的帮助,这是有道理的。我希望有一种方法可以保存文件系统的状态以及在图像中运行的进程。但你的回答证实了我所看到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2017-03-16
    • 2022-01-10
    • 2018-12-12
    相关资源
    最近更新 更多