我从 Spring Boot 应用程序的镜像开始,它依赖于 PostgresSql 数据库。因此,如果没有可供连接的数据库,Spring Boot 容器将不会运行。
数据库正在运行,但是,由于 --link
选项现在是 deprecated在 docker 。当我无法让SpringBoot运行时,如何连接这两个容器,然后执行docker network connect my-net postgres
命令。
我使用单独的 Dockerfiles
创建了两个镜像,这可能只能使用 docker-compose
方法吗?
请您参考如下方法:
我建议使用 docker compose 文件来定义您的服务。使用 docker compose 文件,您可以使用 depends_on
选项:
version: '3'
services:
web:
build:
context: .
dockerfile: dockerfile-web
depends_on:
- postgres-db
postgres-db:
build:
context: .
dockerfile: dockerfile-postgres-db
您还可以定义networks在 docker compose 文件上连接容器:
version: '3'
services:
web:
build:
context: .
dockerfile: dockerfile-web
depends_on:
- postgres-db
networks:
- backend-net
postgres-db:
build:
context: .
dockerfile: dockerfile-postgres-db
networks:
- backend-net
networks:
backend-net:
driver: bridge