我想运行 docker:dind
并获得一个 shell。
如果我运行 docker run --privileged docker:dind sh
它只是退出。
解决方法是运行:docker run -d --privileged docker:dind
它在后台启动,然后我可以运行 docker exec -it <container> sh
并获得一个 shell。
但我希望它以一个 shell 开头。
我创建了一个 Dockerfile:
FROM docker:dind
ENTRYPOINT sh
我 build 了它:
docker build -t dind2 -f Dockerfile .
当我运行
docker run --rm -it --privileged dind2
时,我得到了一个 shell,但是当我尝试运行简单的容器 docker run busybox echo hi
时,它失败了:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
任何想法如何使
docker:dind
以 shell 开头,而无需在后台运行它然后使用 exec
获取 shell 的解决方法。
最佳答案
您需要告诉 docker 运行 交互式 并使用 tty 才能使用 shell。
docker run --interactive --tty docker:dind sh
或者,简称
docker run -it docker:dind sh
关于docker - 如何运行 docker :dind to start with a shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54144630/