从一个Docker容器连接到另一个

我在Docker容器中运行Java应用程序,该容器应该在其他容器中连接MySQL。尝试使用表格中建议的多个选项,但实际上没有任何效果。这是我的Docker

Compose文件:

version: "3"

services:

app:

build:

context: ./

dockerfile: /src/main/docker/Dockerfile

image: app1

environment:

- DB_HOST=Imrans-MacBook-Pro.local

- DB_PORT=3306

ports:

- 8080:8080

networks:

- backend

depends_on:

- mysql

mysql:

image: mysql:5.7.20

hostname: mysql

environment:

- MYSQL_USER=root

- MYSQL_ALLOW_EMPTY_PASSWORD=yes

- MYSQL_DATABASE=app1

ports:

- 3306:3306

command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8 --explicit_defaults_for_timestamp

networks:

- backend

networks:

backend:

driver: bridge

DB_HOST=Imrans-MacBook-Pro.local我的笔记本电脑的名字在哪里。这没有用。有人建议可以这样尝试使用容器名称DB_HOST=

mysql,但从未使用过。

唯一的事情是时不时地传递笔记本电脑的IP地址,而这不是我想要的。那么,在这些容器之间创建通信的好方法是什么?

回答:

过去,我无需在Docker Compose中显式设置主机网络部分就可以使用它。由于Docker

Compose文件中的 Docker

映像相互放置在Docker网络中,因此您真的不需要做任何事情就可以使它工作:默认情况下,您应该能够连接到Spring应用程序的容器中并能够ping

mysql解决问题。

以上是 从一个Docker容器连接到另一个 的全部内容, 来源链接: utcz.com/qa/427028.html

回到顶部