我有一个节点docker容器,我正在运行一个开发服务器。
在我的docker-compose.yml文件中,输入命令为:
...
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
但我无法停止或重启我的服务器。 有没有办法用START命令访问ssh? (例如,查看服务器日志,或停止并重新启动它)。
也许我把它带到了错误的路径,因为入口命令不应该停止?所以在这种情况下,任何人都有一个解决方案,可以让我启动我的服务器&以更灵活的方式控制它?
答案 0 :(得分:2)
best practices表示您应该将容器视为服务器。如果要停止它,请停止容器(docker stop my-container
),如果要重新启动容器,请重新启动容器(docker restart my-container
)。您的服务器应该记录到stdout
,以便您可以使用docker logs -f my-container
查看日志。所以,你是对的,命令不应该停止,因为它会停止容器。