Docker: В чем разница между тегом —link: db и тегом —link: mysql

Я пытался перейти на Docker с MySQL и PHP, но у меня проблемы с компоновкой контейнеров. Мне удалось получить mysql:5.7 работать с wordpress:latest а также phpmyadmin чтобы проверить это, запустив:

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7

docker run --name testadmin -d --link testdb:db -p8080:80 phpmyadmin/phpmyadmin

docker run --name testwp -d -p 80:80 -e WORDPRESS_DB_PASSWORD=password --link testdb:mysql wordpress

С помощью tag:db где я использовал tag:mysql и наоборот вызывает проблемы со связью. Я пытаюсь понять разницу и пользуюсь tag:db или же tag:mysql определяет тип соединения, т.е. сокеты vs tcp

Я пытался найти документацию по конкретным вопросам, связанным со ссылками, но либо мало информации о различных типах ссылок, либо мой googlefu не работает.

Я все еще продолжаю изучать источник phpmyadmin, а также источник wordpress, чтобы выяснить, какие функции они используют, но мне потребуется некоторое время, чтобы разобраться во всем. Любая информация или указатели будут с благодарностью.

1

Решение

Контейнер MySql выглядит правильно для меня, поэтому продолжайте использовать:

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7

Но в phpadmin вы должны использовать имя testdb в ссылке на MySql, например:

docker run --name testadmin -d --link testdb -p8080:80 phpmyadmin/phpmyadmin

Здесь у вас есть четкая ссылка из этого контейнера в другой testdbследовательно, внутри phpmyadmin вы можете обратиться к контейнеру MySql.

За wordpress Вы должны сделать то же самое, и ссылку на имя контейнера MySql, например:

docker run --name testwp -d -p 80:80 --link testdb wordpress

И вам не нужно указывать пароль root для MySql, потому что этот пароль предназначен для контейнера MySql, а не для этого.

Этот подход работает для меня, надеюсь, он поможет вам!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector