2016-08-24 3 views
0

Я попытался запустить несколько контейнеров докеров 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 
+0

Почему вы пытаетесь подключиться к нему telnet? Вы можете запустить средства администрирования mysql, войдя в рабочий контейнер. Например: 'docker exec -it test-db sh' – Alkaline

+0

Я попытался войти в контейнер' mysql -h 172.17.0.4 -u user -p', но я получаю 'ERROR 2003 (HY000): не удается подключиться к MySQL server на 172.17.0.4 (111) ' – jacobcan118

+0

Подсеть 172.17.0.x скорее всего видна только контейнерами, и вы пытаетесь получить к ней доступ через подсеть 172.0.1.x. Распечатайте свою 'docker network ls', а также попробуйте запустить консоль mysql напрямую, используя' docker exec -it test-db mysql -u user -p' – Alkaline

ответ

0

Set MYSQL_ROOT_HOST =%, чтобы корневой вход с любого IP

sudo docker run --name mysql -p 3306: 3306 -e MYSQL_ROOT_PASSWORD = 123456 -e MYSQL_ROOT_HOST =% -d mysql/mysql-server: последние