是否可以提交一个正在运行 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/