dockernetworking不工作没有链接
我有一个mysql
容器和一个service
容器,需要连接到mysql
容器。
我创build了一个networking与docker network create chrisbolton
我正在旋转的mysql
容器
docker run --name chrisbolton-mysql -v /Users/Bolton/chrisbolton-data:/var/lib/mysql --network chrisbolton -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=chrisbolton -d mysql:latest
我正在旋转service
容器
docker run -p 8080:8080 --name chrisbolton-service --network chrisbolton --link chrisbolton-mysql:mysql -d chrisbolton-service
不过,我知道这个link
已被弃用,我需要转移到只使用networks
。 但是,如果我删除link
在这里两个容器不能沟通。
我用以下configuration连接到mysql
:
#disbale Spring banner spring.main.banner-mode=off spring.datasource.url=jdbc:mysql://mysql:3306/chrisbolton spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.jdbc.Driver
我做了一个docker network inspect chrisbolton
得到的IPAddresses,并试图改变我的configuration文件指出,直接。 但仍然不知道为什么它不会连接。
datasource.url
是不正确的,你应该指定你想要连接的容器的名称。 有比使用服务的名称更好的select。 您可以使用别名或主机名 。
而在这种情况下,正如你在注释中指出的, datasource.url
需要是jdbc:mysql://chrisbolton-mysql:3306/chrisbolton