LINUX.ORG.RU
решено ФорумAdmin

Примонтировать папку и файл в docker-compose

 ,


0

1

Здравствуйте!
Начинаю только осваивать докер, и пока что-то получается, а что то не получается.
Вобщем мне надо вытащить один файл из контейнера на основную ось так, чтобы можно было его редактировать.
И чтобы изменения после редактирования передавались в контейнер.
Файл, который надо редактировать и который находится в контейнере

opt/haraka-smtp/plugins/privacy.js
Первоначальный Dockerfile docker-compose.yml имеет вид
version: "2.3"
services:
  xxxxx:
    image: xxxxxxx/xxxxx.io
    restart: always
    network_mode: host

    hostname: mx.my-site.ru

    volumes:
      - /root/poste/:/data
      - /etc/localtime:/etc/localtime:ro
я добавил в раздел volumes:
version: "2.3"
services:
  xxxxx:
    image: xxxxxxx/xxxxx.io
    restart: always
    network_mode: host

    hostname: mx.my-site.ru

    volumes:
      - /root/poste/:/data
      - /root/poste/plugins/:/opt/haraka-smtp/plugins
      - /etc/localtime:/etc/localtime:ro
После выполнил команду
#docker-compose up -d --force-recreate
Создалась папка /root/poste/opt/ но она пустая.
Что делать дальше?

Вот, после этого

volumes:
- /root/poste/plugins/:/opt/haraka-smtp/plugins

Каталог /root/poste/plugins/ на хосте является общим с каталогом /opt/haraka-smtp/plugins в контейнере.

Чтобы там что-то появилось, либо хост должен что записать в /root/poste/plugins/, либо контейнер в /opt/haraka-smtp/plugins.

Т.е. в твоём случае изначально содержимое /opt/haraka-smtp/plugins нужно вынести в каталог на хосте.

И не называй каталоги папками.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

а… понятно, спасибо! А вот после того, как я отредактировал файл

/root/poste/plugins/privacy.js

для того,чтобы изменения проявились в контейнере, что надо делать? Заново перебилдить или ничего не делать?

rafaello
() автор топика
Последнее исправление: rafaello (всего исправлений: 1)
Ответ на: комментарий от rafaello

Как бы в продолжении этой темы....
С первым вопросом разобрался.
Но вот если я билдю дефолтный Dockerfile docker-compose.yml то все работает как надо.
Но если добавляю

volumes:
- /root/poste/plugins/:/opt/haraka-smtp/plugins
и потом заново билд, то haraka smtp не работает, не стартует.
Что бы это значило?
Haraka - это smtp server
Сейчас вопрос не к конкретно к Haraka, а к тому, что создание примонтированной папки влечет за собой то, что происходит сбой в работе контейнера.....

rafaello
() автор топика
Ответ на: комментарий от rafaello

У твоей хараки должны быть логи, там смотреть что не нравится при старте. Может права на каталог с плагинами, а может ты их так и не перенёс на хост.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Ура!!!!! Как здорово, когда все получается!!!!
Блин, так необычно.
Оказывается плагины были разбросаны по слоям, как в торте Наполеон.
Собрал все плагины и все получилось.
Г-н vvn_black !
Спасибо за грамотные подсказки!
Желаю вам всяческого процветания!

rafaello
() автор топика
Ответ на: комментарий от rafaello

yw

P.S. В первом сообщении есть такой пункт «Отметить как решённую» )

vvn_black ★★★★★
()

Мамеу свою куда-нибудь примонтируй, вендогей.

anonymous
()
Ответ на: комментарий от anonymous

Ты наверное плохо питаешься, поэтому такой злой.

rafaello
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.