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

Я пытаюсь перейти на докер с 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, чтобы выяснить, какие функции они используют, но мне потребуется некоторое время, чтобы принять все это. Любая информация или указатели будут очень благодарны.

Контейнер 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 

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

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