我有一个网络:
docker network create -d bridge --subnet 172.25.0.0/16 container_network
我有一个运行mysql的容器。运行命令:
docker run -tid -p 3306:3306 --name container_mysql --network container_network container_mysql
一个包含代码的容器:
docker run -tid -v $(pwd):/code -p 5000:5000 --name container_code --network container_network container_code
我试图从我的容器中使用代码访问mysql DB,但没有任何作用:
mysql -h 172.17.0.1 -P 3306 -u root -p
mysql -h container_mysql -P 3306 -u root -p
mysql -h 127.0.0.1 -P 3306 -u root -p
mysql -h 0.0.0.0 -P 3306 -u root -p
第一个命令给了我:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
其他人:
ERROR 2003 (HY000): Can't connect to MySQL server on <host> (111)
任何想法如何实现目标?
修改1 用于Mysql容器的Dockerfile:
FROM ubuntu:16.04
RUN apt-get update
RUN echo "mysql-server mysql-server/root_password password 1234" | debconf-set-selections
RUN echo "mysql-server mysql-server/root_password_again password 1234" | debconf-set-selections
RUN apt-get install mysql-server -y