Я только начинаю работать с докером, и, может быть, я начинаю немного по-крупному, но я нашел статью, в которой объясняется, как получить установку coldfusion (запускаемую командным ящиком) с помощью mysql. Этот докер работает просто отлично. У меня возникла идея добавить phpmyadmin, чтобы я мог использовать его для подключения к mysql.
Для справки оригинал статьи находится здесь: https://cfswarm.inleague.io/part3-docker-in-development/part3-running-docker
Поэтому я модифицировал docker compose yml pull в phpmyadmin.
version: '3.6' # если версия не указана, предполагается v1. Рекомендовать минимум v2
тома:
SQL-данные:
сети:
cfswarm-простой:
секреты:
cfconfig:
файл: ./config/cfml/cfconfig.json
Сервисы:
cfswarm-mysql: # понятное имя. это также DNS-имя внутри сети
изображение: MySQL: 5.7
имя_контейнера: cfswarm-mysql
среда:
MYSQL_ROOT_PASSWORD: «мой удивительный пароль»
MYSQL_DATABASE: 'cfswarm-simple-dev'
MYSQL_ROOT_HOST: '%'
MYSQL_LOG_CONSOLE: «истина»
тома:
- тип: том
источник: sql-данные
цель: /var/lib/mysql
порты:
- 3306:3306
сети:
- cfswarm-простой
cfswarm-cfml:
изображение: ortussolutions/commandbox:alpine
имя_контейнера: cfswarm-cfml
тома:
- тип: связать
источник: ./app-один
цель: /приложение
порты:
- 8081:8080
env_file:
- ./config/cfml/simple-cfml.env
секреты:
- источник: cfconfig # на самом деле это не секрет, но развертывание без стека не поддерживает конфигурации, поэтому давайте сделаем это
цель: cfconfig.json
сети:
- cfswarm-простой
зависит от:
- cfswarm-mysql
- cfswarm-nginx
cfswarm-два-cfml:
изображение: ortussolutions/commandbox:alpine
имя_контейнера: cfswarm-two-cfml
тома:
- тип: связать
источник: ./приложение-два
цель: /приложение
env_file:
- ./config/cfml/simple-cfml.env
секреты:
- источник: cfconfig # на самом деле это не секрет, но развертывание без стека не поддерживает конфигурации, поэтому давайте сделаем это
цель: cfconfig.json
зависит от:
- cfswarm-mysql
- cfswarm-nginx
сети:
- cfswarm-простой
**phpmyadmin:
изображение: phpmyadmin/phpmyadmin: последний
имя_контейнера: phpmyadmin
перезапуск: всегда
среда:
PMA_HOST: cfswarm-mysql
PMA_USER: корень
PMA_PASSWORD: «мой удивительный пароль»
порты:
- "8082:80"**
cfswarm-nginx:
изображение: nginx
команда: [nginx-debug, '-g', 'демон выключен;']
имя_контейнера: cfswarm-nginx
порты:
- 80:80
- 443:443
тома:
- тип: связать
источник: ./app-один
цель: /var/www/app-one
- тип: связать
источник: ./приложение-два
цель: /var/www/app-two
- тип: связать
источник: ./nginx/
цель: /etc/nginx
сети:
- cfswarm-простой
Итак, прямо в строке 63 я добавил запрос для phpymyadmin, который, похоже, работает, он отвечает на порт 8082, но выдает ошибку:
MySQL сказал: Документация
Не удается подключиться: неверные настройки.
mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: временный сбой в разрешении имен
mysqli::real_connect(): (HY000/2002): php_network_getaddresses: ошибка getaddrinfo: временная ошибка в разрешении имен
phpMyAdmin попытался подключиться к серверу MySQL, но сервер отклонил соединение.Вы должны проверить хост, имя пользователя и пароль в своей конфигурации и убедиться, что они соответствуют информации, предоставленной администратором сервера MySQL.
Единственное, что я не мог заставить работать, это добавление в сеть cfswarm-simple. Когда я пытался добавить строку прямо под портами (строка 72), я получал ошибку при попытке запустить компоновку докера.
Прямо сейчас я хотел бы иметь возможность подключиться к докеру mysql с докером phpmyadmin.
ТИА