如何访问使用 Minikube 运行的 docker-compose 容器?

如何访问使用 Minikube 运行的 docker-compose 容器?

我曾经在本地机器上设置并运行一些容器,并docker-compose通过 Docker Desktop 运行 Docker 守护程序。

我卸载了 Docker Desktop(由于许可问题)并手动安装了 Docker 守护程序以及 Minikube 和 qemu 驱动程序。

我可以在 Minikube VM 上成功运行 docker,并且可以通过 docker-compose 成功启动容器。

  • minikube ip返回本地 Kubernetes 集群的 IP。
  • minikube ssh然后 ping 正在运行的容器(Postgres 映像)就可以了。

容器定义docker-compose.yml如下:

  my.container:
    container_name: my.container
    build:
      dockerfile: Dockerfile
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: "postgres"
    volumes:
      - my.container:/var/lib/postgresql/data

我启动docker容器的步骤如下:

$ minikube start
$ eval $(minikube docker-env)
$ docker-compose up -d my.app

我没有使用 minikube 在 Kubernetes 上部署我的应用程序。我没有运行任何 Pod。(据我所知)集群只是启动了一个运行 docker 守护进程的 VM。

输出kubectl get services

NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   130.14.93.8  <none>        443/TCP   7d23h

问题:我无法从本地主机连接到这些容器,也无法从 Minikube VM 以外的任何地方连接到这些容器。

我该如何设置它才能localhost:5432与我的 Postgres 客户端匹配?

相关内容