从一个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