我有一个在虚拟机上运行的容器化应用程序。 它由两个 docker 容器组成。第一个包含 WebSphere Liberty 服务器和 Web 应用程序。第二个包含 PostgreSQL 和应用程序的数据库。
在我的本地虚拟机上,我只需使用 docker run 启动两个容器,然后使用 docker Attach 附加到 Web 服务器容器,以便我可以编辑 server.xml 文件来指定公共数据库的主机 IP,然后在容器中启动 Web 服务器。 该应用程序运行良好。
现在我正在尝试在 Google Cloud Platform 上部署该应用程序。
此时:
所以现在我需要更新 server.xml 并启动 Liberty 服务器,但我不知道如何在这个领域中做到这一点。 我可以像在本地虚拟机中那样附加到 Web 服务器容器吗? 任何帮助将不胜感激。 谢谢。
是的,您可以附加到 Pod 中的容器。 使用 Kubernetes 1.0 发出以下命令:
做:
kubectl get po
获取 POD 名称kubectl describe po POD-NAME
查找容器名称然后:
kubectl exec -it POD-NAME -c CONTAINER-NAME bash
假设你有bash
类似于
docker exec -it CONTAINER-NAME WHAT_EVER_LOCAL_COMMAND
在机器本身上,您可以通过以下方式看到崩溃循环容器:
docker ps -a
然后
docker logs <container-id-of-crashed-container>
您还可以使用 kubectl get pods -oyaml 来获取重新启动计数等详细信息,以验证容器是否处于崩溃循环状态。