3

Я пытаюсь настроить контейнер Docker для работы с локальной базой данных.

Это изображение https://hub.docker.com/r/tuxgasy/dolibarr/, и оно также предлагает создать контейнер mariadb и связать его с этим.

Я хотел бы настроить контейнер Dolibarr на использование базы данных mariadb которая у меня уже есть в моей основной системе, которая была установлена из основного репозитория моего дистрибутива.

Это первый раз, когда я пытаюсь настроить работающее приложение Docker, и я не настолько опытен в обслуживании базы данных, поэтому я немного растерялся.

Как я могу это сделать? Пожалуйста, держите инструкции и объявления четкими и подробными, насколько это возможно.

Моя система - полностью обновленный openSUSE Tumbleweed.

2 ответа2

4

Есть три способа:

  1. Используйте параметр --net = host. Этот сетевой режим означает, что у контейнера есть прямой доступ к localhost, и теперь вы можете получить доступ к localhost:3306. Вот команда

    docker run --net=host ... tuxgasy/dolibarr

    Затем подключитесь к mariadb с localhost:3306

  2. Установите гнездо mariadb в док-контейнер и подключите к гнезду mariadb через гнездо. Например, если вы сконфигурируете расположение сокета как /var/run/mysqld/mysqld.sock, вы можете подключить его и использовать в качестве точки подключения.

    docker run -v /var/run/mysqld:/mariadb_socket ... tuxgasy/dolibarr

    Затем подключитесь к mariadb через сокет /mariadb_socket/mysqld.sock из вашего приложения

  3. Используйте IP-адрес хоста докера. Сначала получите IP-адрес хоста в сети Docker (в linux введите ip addr show и найдите ip docker0). Обычно это что-то вроде 172.17.0.1 (ваш пробег может отличаться). Тогда вы сможете использовать этот IP-адрес для подключения к mariadb, например, 172.17.0.1:3306

ПРИМЕЧАНИЕ: ... означает любые другие опции, которые вы уже используете

0

Я создал докер-контейнер для выполнения именно этого https://github.com/qoomon/docker-host

Затем вы можете просто использовать имя контейнера dns для доступа к хост-системе из контейнера, например, curl http://dockerhost:9200

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .