Не удается получить доступ к базе данных SQL в контейнере Docker

У меня есть SQL db работает успешно. Однако я не могу получить доступ к нему в моем клиенте SQL.

docker run -it --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2

I verified it’s running by docker exec fcd12bf1da81 /etc/init.d/mysql status

Я сопоставил 3306 — > 3306 и используя IP хоста. Все еще получаю тайм-аут. Что это может быть?

1 ответ

  1. Теперь у вас есть база данных в контейнереfcd12bf1da81, работающем, слушающем на своем локальном IP и на IP хоста на порту 3306.

    Если вы хотите, чтобы ваш новый контейнер sql_key_containerполучил доступ к этой базе данных, то контейнер нуждается в доступе fcd12bf1da81.

    Вам нужно --link:

    docker run -it --link fcd12bf1da81:mydb --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2 
    

    и теперь вы можете получить доступ к БД внутри этого контейнера mydb:3306.