У меня есть docker-compose, где у меня есть 2 службы:
- статический компоновщик
- nginx server
А также определенный объем.Каталог / static из первого и второго контейнера сопоставляется с этим томом.Вот так: - static_build:/static/
Итак, первый Dockerfile с изображением выглядит примерно так:
FROM node
COPY src /app
RUN yarn build
CMD mv build /static
Если я использую CMD
в последней строке, он работает нормально.Во время docker-compose up
docker выполняет mv build /static
и в контейнере nginx появляется build
.
Но если я использую RUN mv build /static
и docker-compose up
, файлы в общем каталоге не изменяются.Даже если я добавлю базовый CMD
(например, CMD echo foo
), чтобы убедиться, что контейнер был создан и выполнен, общий каталог не изменится.
Я понимаю, что образ представляет собой набор изменений в файловой системебазового уровня, но как docker управляет ситуацией, когда существует несколько контейнеров, и у них разное содержимое каталогов, совместно используемых контейнерами?