Docker compose 如何使用docker compose从其他容器连接到cockroachdb容器?
我试着模仿[MySQL方式][1]来做这件事,但对我来说不起作用。 我还尝试了几种变体,从:添加网络接口到 显式指定容器IP时,它们都不起作用(因为容器IP 总是改变) 错误消息是:Docker compose 如何使用docker compose从其他容器连接到cockroachdb容器?,docker-compose,cockroachdb,Docker Compose,Cockroachdb,我试着模仿[MySQL方式][1]来做这件事,但对我来说不起作用。 我还尝试了几种变体,从:添加网络接口到 显式指定容器IP时,它们都不起作用(因为容器IP 总是改变) 错误消息是: "could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket \"/tmp/.s.PGSQL.
"could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket \"/tmp/.s.PGSQL.5432\"
}
以下是我的代码:
我的烧瓶应用程序:
connection=psycopg2.connect(
database=os.environ.get(“DB_NAME”),
user=os.environ.get(“DB_user”),
password=os.environ.get(“DB_password”),
sslmode=os.environ.get(“DB_SSL”),
host=os.environ.get(“DB_host”),
port=os.environ.get(“DB_port”),
)
我的docker撰写文件:
version: '3'
services:
flask-api:
image: flask-api:0.7.0
ports:
- '5000:5000'
environment:
- DB_NAME = knotdb
- DB_HOST = roach1
- DB_PORT = 26257
- DB_USER = root
- DB_SSL = disable
links:
- roach1
roach1:
image: cockroachdb/cockroach:v1.1.3
command: start --insecure --host=127.0.0.1
ports:
- "26257:26257"
volumes:
- ./cockroach-data/roach1:/cockroach/cockroach-data
我的其他各种尝试:
# adding network to both service : didn't work
# using ip instead of alias: didn't work
links:
- roach1:127.0.0.1
1:代码中的某些内容找不到正在显示的数据库配置;它正在尝试连接到本地套接字。您应该完全删除
链接:
(roach1
仍可用作主机名)以及--host=127.0.0.1
选项(它将使数据库无法从其容器外部访问,尽管这不是您显示的错误消息)。我可能会尝试删除环境:
块:DB_HOST=roach1
中的空格,但完全没有空格。@DavidMaze我删除了--HOST=127.0.0.1
,它不起作用。但在删除了DB_HOST=roach1中的空间后,所有这些都运行良好。是否将注释作为答案移动?代码中的某些内容找不到正在显示的数据库配置;它正在尝试连接到本地套接字。您应该完全删除链接:
(roach1
仍可用作主机名)以及--host=127.0.0.1
选项(它将使数据库无法从其容器外部访问,尽管这不是您显示的错误消息)。我可能会尝试删除环境:
块:DB_HOST=roach1
中的空格,但完全没有空格。@DavidMaze我删除了--HOST=127.0.0.1
,它不起作用。但在删除了DB_HOST=roach1中的空间后,所有这些都运行良好。您是否希望将您的评论作为答案移动?