当我使用 Docker Desktop for Windows 运行我的 docker 容器时,我可以使用以下命令连接到它:
docker run -p 5051:5000 my_app
http://0.0.0.0:5051
Run Code Online (Sandbox Code Playgroud)
但是,当我打开另一个终端并执行此操作时
minikube docker-env | Invoke-Expression
Run Code Online (Sandbox Code Playgroud)
并使用与上面相同的运行命令构建并运行相同的容器
我无法连接到正在运行的实例。
我是否应该使用 Docker Desktop 运行和测试容器,然后使用 minikube 仅存储图像(对于 Kubernetes)?或者您可以通过 minikube 运行它们并测试它们吗?
这是因为在您第二次尝试时,容器不是在主机上运行,而是在 minikube VM 上运行。您将能够使用 minikube VM IP 访问它。
要获取 minikube ip,你可以运行minikube ip
为什么 ?
调用会minikube docker-env设置主机上的所有 docker 环境变量以匹配 minikube 环境。这意味着当您之后运行容器时,它会与 minikube VM 上的 docker 守护进程一起运行。
| 归档时间: |
|
| 查看次数: |
5826 次 |
| 最近记录: |