artloveyou
@artloveyou

Как создать контейнер в docker чтобы файлы брались из внешней директории?

Объясните простым языком про создание контейнера докер.

Я уже прочитал кучу документации и уроков, самим докером пользуюсь и хочу создать свой контенер.
Вот у меня есть код на ноде и на питоне, всему этому набору подобраны какие надо версии чтобы всё запускалось и добавлены необходимые зависимости. Вопрос первый: у питона установлены дополнительные модули, какого-то аналога package.json нет, соответсвено, как я понимаю надо прописать установку этих модулей вручную, что ли?

Затем есть код, неизменяемый, есть конфиги и директория с меняющимися файлами.

Вот как создать контейнер, который будет содержать неизменяемый код и работать с конфигами и файлами из вне? Хотя бы простой пример.
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Аналог package.json - файл requirements.txt для pip или аналоги для других систем типа pipenv.

Делаем контейнер, в который добавляем наш код, как-то так:

ADD app /app
WORKDIR /app
RUN apt install python3-pip && pip install -r requirements.txt

Затем при запуске контейнера передаём ему каталог с нужными каталогами (в данном случае конфиги и логи):

docker run -itd --name my_service -v `pwd`/config:/app/config:ro -v /var/log/my_project/my_service:/app/log my_awesome_image


Или через секцию volumes в docker-compose.yml (с ним удобнее, чем с прямым вызовом docker):

volumes:
    - ./config:/app/config:ro
    - /var/log/my_project/my_service:/app/log
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы