используйте клиент для подключения к mysql внутри сети докеров - PullRequest
0 голосов
/ 20 сентября 2019

Я использую Docker Swarm для создания небольшой инфраструктуры с разными экземплярами WordPress, у меня есть вход (nginx) и разные стеки (wp, mysql, wp).Компоновка docker для каждого стека выглядит следующим образом:

version: "3.7"

networks:
  foo-frontend:
  foo-backend:

volumes:
  db_data:
  wordpress_data:

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    env_file:
      - db.env
    networks:
      - foo-backend
    ports:
      - "3306:3306"

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html/wp-content
    env_file:
      - wp.env
    networks:
      - foo-frontend
      - foo-backend

  nginx:
    depends_on:
      - wordpress
    image: nginx:latest
    volumes:
      - ./nginx:/etc/nginx/conf.d
      - /etc/letsencrypt:/etc/letsencrypt
    networks:
      - foo-frontend

, а вход:

version: "3.7"

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
      - ~/docker-vps/ingress/conf.d:/etc/nginx/conf.d
      - /etc/letsencrypt:/etc/letsencrypt
    networks:
      - foo-frontend

networks:
  frontend:
    external: true

Моя проблема в том, что я не могу подключиться к MySQL с моим клиентомЯ пытался использовать контейнер IP с правильным портом, но не работает .... Есть ли способ подключиться к MySQL с клиентом?

большое спасибо

1 Ответ

0 голосов
/ 21 сентября 2019

Считать в качестве имени хоста название сервиса.Вот как сервисы общаются.Итак, имя хоста базы данных db.Дайте мне знать, что появляется сообщение об ошибке, потому что у меня нет рейтинга, чтобы прокомментировать ваш оригинальный вопрос, чтобы это знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...