是否有可能访问正在运行的docker集装箱上的条目命令bash?
我有一个节点docker容器,我正在运行一个开发服务器。
在我的docker-compose.yml文件中,input命令是:
... command: start-dev-server ...
start-dev-server指向安装供应商后启动服务器的脚本:
// /usr/local/bin/start-dev-server #!/usr/bin/env bash # install node modules if missing npm i # start the dev server npm run start
所以当我启动我的容器时,服务器也将启动。
我知道我可以通过以下命令在bash中访问我的容器:
docker exec -it my-container bash
但是,我不能停止或重新启动我的服务器。 有没有办法使用启动的命令访问SSH? (例如查看服务器日志,或停止并重新启动它)。
也许我在这里采取了错误的path,因为进入命令不应该被停止? 所以在这种情况下,任何人都有一个解决scheme,可以让我启动我的服务器,并以更灵活的方式控制它?
最佳实践说,你应该看到容器作为你的服务器。 如果你想停止它,停止容器( docker stop my-container
),如果你想重新启动它,重新启动容器( docker restart my-container
)。 你的服务器应该login到stdout
,所以你可以看到日志使用docker logs -f my-container
。 所以,你是对的,命令不应该被阻止,因为它会阻止容器。