networking - docker-compose 关于 cloudbuild / 网络问题
问题描述
拥有 docker-compose 文件:
version: '3'
services:
postgres:
image: postgres:12.1
environment:
- POSTGRES_PASSWORD:'xyz'
ports:
- '5432:5432'
volumes:
- postgres:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
redis:
image: 'redis:5-alpine'
command: redis-server
ports:
- '6379:6379'
volumes:
- 'redis:/data'
specs:
image: gcr.io/project_id/container_name:latest
depends_on:
- 'postgres'
- 'redis'
build: .
entrypoint:
- /bin/bash
- -c
- |
...stuff that require database processing...
environment:
- RAILS_ENV=test
- REDIS_URL=redis://redis:6379/0
- DATABASE_URL=postgres://postgres:@postgres:5432/test_db
links:
- postgres
- redis
volumes:
redis:
postgres:
networks:
default:
external:
name: cloudbuild
和以下 cloudbuild 步骤(我们使用社区云构建器):
...
- name: 'gcr.io/app-dmx-sh/docker-compose'
args:
- 'run'
- 'specs'
id: 'specs'
...
我们不断遇到以下错误:
could not translate host name "postgres" to address: Name or service not known
我们还尝试network_mode: cloudbuild
在 compose 文件中为每个容器添加 ,但没有成功。
应该怎么做才能让 compose 文件网络在这个 cloudbuild 环境中按预期工作?
解决方案
推荐阅读
- firebase - 自定义令牌的查询权限
- node.js - Express 中间件,我如何跳过最后一个函数调用?
- docker - 在 docker 容器中的特定网络接口上发布端口
- json - 使用 Spark 自定义 JSON 输出格式
- web - 如何使用 Gulp 4 设置 browserSync 重新加载 html、js?
- sql - 如何使用外键根据其他表获取值
- sql - sp_send_dbmail 列标题格式问题(“@Column1Name”附近的语法不正确)
- flask-mail - 无法加载通过烧瓶邮件发送的附件
- sql - 如何设置主键?
- javascript - 尝试在 Google Places API 中查找附近的地点