Docker - 提交正在运行的进程的容器 (postgresql)

标签 docker

是否可以提交一个正在运行 postgresql 的容器,以便它立即准备就绪?我尝试过使用启动脚本、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 分离。一旦分离,我就 promise

docker commit [containerId] [name]

运行新镜像后,postgresql 不会运行,并且锁定文件会保留。是否可以提交这样的正在运行的服务,或者有没有办法让 postgresql 在运行镜像时准备就绪?

最佳答案

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

关于Docker - 提交正在运行的进程的容器 (postgresql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27969230/

相关文章:

scala - Sbt run命令在Docker容器上失败并显示 “NoSuchFileException”

docker - 带有Docker的db2:如何解决bash脚本中的错误?

Docker 和 -march native

docker - 当使用jenkins在GitLab注册表中推送图像时,错误失败:无效的存储库名称

linux - 自动化需要用户交互的流程的最佳策略

ubuntu - EC2 上的 Docker ubuntu 构建失败

azure - 如何在 Azure Web Apps for Containers 中与 Docker Linux 容器共享驱动器?

docker - 在 docker 容器下运行时程序的性能 : same or slower?

docker-compose.yml : Error while specifying a tmpfs volume

docker - 如何调查Docker中的服务崩溃