运行docker attach时没有任何事情发生

时间:2017-10-20 20:03:16

标签: docker

docker pull httpd
..
docker run -d --name MyWebServer httpd
..
docker attach MyWebServer
(nothing printed here - so I press enter + ls)
ls
(nothing printed here - so I press enter multiple times and still nothing..)

当我尝试用ubuntu图像做同样的事情时,它可以工作。为什么不在这里工作?

2 个答案:

答案 0 :(得分:2)

不同之处在于运行过程。使用Ubuntu,您将被附加到sh。使用httpd,您将被附加到apache主进程,该进程不是shell。

执行此操作而不是附加:

docker exec -it MyWebServer sh

这样,您将在运行apache进程的同一容器中启动一个shell。

答案 1 :(得分:1)

您是否阅读过文档? attach返回容器生成的所有消息。我打赌你想要做exec而不是。

要么是

docker exec -it container_name_or_id bash 

docker-compose exec service_name bash 

如果你使用docker-compose app。

您可以执行任何命令(除非容器没有固定的入口点),例如

docker exec container ls /