Я попытался запустить несколько контейнеров докеров mysql на одном сервере хоста. После установки одного первого контейнера mysql он отлично работает. Я следую тому же шагу по настройке второго и изменил рабочий порт с 3306 на 3307 и использовал другой путь dump.sql. После запуска контейнера я не могу telnet контейнер с контейнером ip с портом, но я могу выполнить ping ip. Он показывает, что Connection отказался. Попробуйте добавить строку bind-address = 0.0.0.0 в /etc/my.cnf и перезапустить контейнер, и проблема остается прежней. Я могу видеть второй старт MySQL контейнер, и я в состоянии выполнить какую-либо команду на контейнере, но примерно через 1 мин, контейнер автоматически остановитьmysql docker container получить удаленный хост: соединение отклонено после запуска контейнера
[email protected]:~/$ docker run --name=test-db -p 3310:3306 -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_USER=user -e MYSQL_DATABASE=db -e MYSQL_PASSWORD=pass -v dump.sql:/var/lib/mysql -d mysql/mysql-server:5.7
0e3fbcbd9126a726584549a13248eb07eb7d97fbeba4795fb5a924037a66b205
[email protected]:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" 29 seconds ago Up 28 seconds 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
[email protected]:~/$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' test-db
172.17.0.4
[email protected]:~/$ telnet 172.17.0.4 3310
Trying 172.17.0.4...
telnet: Unable to connect to remote host: Connection refused
[email protected]:~/$ ping 172.17.0.4
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.037 ms
^C
--- 172.17.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.037/0.042/0.053/0.009 ms
[email protected]:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" About a minute ago Up About a minute 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
[email protected]:~/$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" About a minute ago Up About a minute 33060/tcp, 0.0.0.0:3310->3306/tcp test-db
[email protected]:~/$ docker exec test-db "exec mysql -h 172.17.0.4 -u user -p"
Error response from daemon: Container 0e3fbcbd9126a726584549a13248eb07eb7d97fbeba4795fb5a924037a66b205 is not running
[email protected]:~/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[email protected]:~/$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fbcbd9126 mysql/mysql-server:5.7 "/entrypoint.sh mysql" 2 minutes ago Exited (1) 37 seconds ago test-db
Почему вы пытаетесь подключиться к нему telnet? Вы можете запустить средства администрирования mysql, войдя в рабочий контейнер. Например: 'docker exec -it test-db sh' – Alkaline
Я попытался войти в контейнер' mysql -h 172.17.0.4 -u user -p', но я получаю 'ERROR 2003 (HY000): не удается подключиться к MySQL server на 172.17.0.4 (111) ' – jacobcan118
Подсеть 172.17.0.x скорее всего видна только контейнерами, и вы пытаетесь получить к ней доступ через подсеть 172.0.1.x. Распечатайте свою 'docker network ls', а также попробуйте запустить консоль mysql напрямую, используя' docker exec -it test-db mysql -u user -p' – Alkaline