Docker - 使用 运行 进程提交容器 (postgresql)

Docker - commit container with running processes (postgresql)

是否可以使用 postgresql 运行ning 提交容器以便立即准备好?我试过使用启动脚本、CMD 和 bashrc 来启动 postgresql,在使用

时都可以正常启动

docker run -it [containerID]

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

使用这种方法...

docker build -t [name]

docker run -it [containerId]

然后我在容器里面运行

service postgresql start

并使用 ctrl p + q 分离。一旦分离,我承诺

docker commit [containerId] [name]

在 运行ning 新映像后,postgresql 未 运行ning 并且锁定文件被遗留下来。是否可以像这样提交 运行ning 服务,或者有没有办法在 运行ning 图像时准备好 postgresql?

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