Назад | Перейти на главную страницу

docker & portainer - используйте его для создания контейнера

Я все еще пытаюсь понять некоторые вещи с помощью Docker, помогающего с portainer, но я не могу найти tuto для:

1 - Постоянные данные: Я хочу запустить контейнер Mariadb с постоянной базой данных. Поэтому я хотел бы добавить том "db" с точкой монтирования в свой /home/user. К сожалению, точка монтирования всегда находится в /var/lib/docker/volumes и т.д. Как это сделать?

2 - Ссылка: предполагая, что мне удалось запустить контейнер mysql с постоянной базой данных, я хотел бы связать контейнер nginx (с постоянными данными /home/mountpoint:/data/www) в мой контейнер mysql с переменной окружения (пример с docker compose: https://github.com/dadeg/docker-compose-nginx-php7-mysql/blob/master/docker-compose.yml). Я заметил опцию сети, но не думаю, что она может помочь ... Как связать контейнер и создать шаблон с дополнительными переменными окружения?

Docker-compose может быть лучше?

Спасибо заранее за любую помощь.

jB

Когда вы создаете том через Docker или Portainer, по умолчанию этот том будет храниться в /var/lib/docker/volumes на хосте. Так что это стандартное и правильное поведение.

Если вы хотите привязать том с именем db через Portainer сначала создайте том. Затем перейдите в Контейнеры> Добавить контейнер> Укажите здесь свое имя / изображение> На вкладке тома вы сможете привязать только что созданный том к пути в контейнере.

Теперь о вашей связи между Ningx и вашей базой данных. Я рекомендую вам использовать здесь DNS сетей Docker.

Сначала создайте новую сеть (назовите ее my-app например). Затем разверните в этой сети свою базу данных и контейнер Nginx. Docker DNS автоматически даст возможность контейнерам внутри одной сети обмениваться данными, используя свое имя контейнера. Итак, если вы назвали контейнер своей базы данных db и ваш контейнер Nginx nginx, тогда вы сможете пинговать db из nginx и наоборот.