问题描述
考虑在 Google Cloud Platform 环境中使用容器优化的 VM。
可以进入虚拟机:
gcloud compute ssh __machine__
要进入正在运行的容器,这变得越来越棘手:
CONTAINER=`gcloud compute ssh __machine__ --command 'docker ps -q | head -1'`
gcloud compute ssh machine --container $CONTAINER
这已经够丑了,与使用 docker exec -it bash
进入容器相比,它以 sh
开头而不是 bash
。
有没有办法简化上面的命令并默认启动 bash
?
解决方法
例如当您run a container,you can give it a name时:
docker run --name foo unbunt:latest
并且您可以使用容器名称进行交互,而无需使用各种方法找出容器的名称,例如您使用
docker ps -q | head -1
当容器名称已知时,例如foo
,您可以execute something within it
docker exec foo /bin/bash
有没有办法简化上面的命令并默认启动 bash
?
您需要更改容器入口点,方法是在 docker run --entrypoint
上或在 Dockerfile using the ENTRYPOINT instruction