Skip to main content
 首页 » 编程设计

docker之如何使用用户定义的桥连接图像

2024年02月27日65tintown

我从 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