docker-compose 无法构建 web 组件,因为它无法连接到之前创建的 db 组件
Mac OSX 10.13.6、conda 4.5.11、Python 3.6.8、Docker 版本 18.09.1、docker-compose 版本 1.23.2
django 1.8.3 与 Dockerfile 中的 requirements.txt 一起安装。不能随意升级。
关于 SO 的几个非常相似的讨论没有帮助(比如这个:Docker-compose with django could not translate host name "db" to address: Name or service not known)。
我有一个docker-compose.yml
网络和两个组件:
version: '3'
networks:
bridge:
driver: bridge
services:
db:
image: postgres:10
container_name: myapp-db
volumes:
- ./postgres_data:/var/lib/postgresql/data/
ports:
- "5432:5432"
environment:
POSTGRES_DB: actionability-master
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
networks:
- bridge
web:
restart: unless-stopped
container_name: myapp-web
build: . …
Run Code Online (Sandbox Code Playgroud) 我在gitlab-ci.yml
. 其中一些需要将当前计算机 IP 地址传递给它们,如下所示:
docker build --pull -t my_image . --add-host=<my service>:<current ip>
Run Code Online (Sandbox Code Playgroud)
$CI_SERVER_HOSTNAME
不是 1,它的值是gitlab.com
。我需要 CI 机器的实际 IP 地址,就像ifconfig
从.gitlab-cy.yml
文件中看到的那样。
我没有找到任何 $CI_... 变量。我知道从 ifconfig 中提取是可能的,但是当 docker 命令在 Mac 上逐一执行时,它将不起作用。
注意:我知道它通常类似于 172.0.0.x,但需要一个精确的加号,我想知道它的变量是否存在。