为什么每次我附加并退出容器时,我的Docker容器Apache服务都会关闭?

6 浏览
0 Comments

为什么每次我附加并退出容器时,我的Docker容器Apache服务都会关闭?

我在我的Docker容器中发现了一个有趣的行为,或者说我实际上是在错误地使用它。这是我所经历的情况:

每次当我连接到我的容器并从容器中退出时,我的Apache服务会关闭,我需要做的是重新连接并重新运行Apache服务器...这正常吗?(我的容器只是一个普通的LAMP堆栈)

docker attach 8d009c6b9a3f
root@8d009c6b9a3f# exit   //然后我的Apache将关闭

顺便说一下,我正在使用Mac和docker-machine。

0
0 Comments

为什么每次我附加容器然后退出时,我的Docker容器Apache服务都会关闭?

当您在容器中输入exit时,这意味着您正在关闭该容器。要退出容器而不关闭它,您可以使用ctrl p + ctrl q(按住ctrl键同时按下p和q键)来退出。

问题的原因是在附加容器后,您使用了错误的命令exit来退出容器,导致容器被关闭。

解决方法是使用正确的命令ctrl p + ctrl q来退出容器,而不关闭它。这样,您可以保持容器的运行状态并继续使用Apache服务。

更多详细信息,请参考http://docs.docker.com/articles/basics/#running-an-interactive-shell

0
0 Comments

为什么每次我附加到我的Docker容器并退出时,Apache服务就会关闭?

问题原因:

该问题的原因是,当您附加到正在运行的Docker容器并退出时,Docker会默认停止容器的运行。这意味着Apache服务也会随之关闭。

解决方法:

要解决这个问题,您可以在运行Docker容器时使用-d选项,将容器作为守护进程运行。这样,即使您附加到容器并退出,容器仍然会继续运行,Apache服务也将保持开启状态。

下面是使用-d选项运行Docker容器的命令示例:

docker run -d 

通过使用以上命令,您可以确保Apache服务在附加到容器并退出后仍然保持运行状态,解决了容器关闭的问题。

0
0 Comments

问题原因:使用docker attach命令附加到容器时,退出后会关闭正在运行的Apache服务进程。

解决方法:使用docker exec命令代替docker attach命令,并在附加的进程中退出,以避免影响入口点进程(Apache服务进程)的运行。

具体操作如下:

1. 打开终端或命令行界面。

2. 输入以下命令,使用docker exec命令附加到正在运行的容器:

docker exec -it 8d009c6b9a3f bash

其中,8d009c6b9a3f是容器的ID或名称。

3. 进入附加的进程(这里是bash)后,执行需要的操作。

4. 当完成操作后,输入exit命令退出附加的进程。

通过使用docker exec命令附加到容器并在附加的进程中退出,可以避免每次退出容器时关闭Apache服务进程的问题。

0