У меня есть docker-compose.yml
, настроенный так:
app:
build:
dockerfile: ./docker/app/Dockerfile.dev
image: test/test:${ENV}-test-app
...
Dockerfile
, вызываемый здесь, имеет следующую строку:
...
RUN ln -s ../overrides/${ENV}/plugins ../plugins
...
И есть также скрипт, который явыполняется для запуска всей среды (это зависит от нескольких контейнеров, поэтому я попытался опустить ненужную информацию).
Это скрипт bash, выполняющий следующее:
ENV=$1 docker-compose -p $1 up -d --force-recreate --build app
Что яЯ хотел добиться того, чтобы я мог запускать два контейнера приложений одновременно, и это работает следующим образом:
sh initializer.sh foo -> creates foo-test-app container
sh initializer.sh bar -> creates bar-test-app container
Теперь у меня проблема в том, что даже когда у меня флаг --force-recreate
присутствует двафактически созданные изображения рассматриваются как одно и то же изображение с двумя разными тегами.
И когда я проверяю контейнеры, это происходит из-за того, что оба контейнера имеют символическую ссылку на:
overrides/foo/plugins
Когда я создаю новый контейнер, чтобы повторить это, он не замечаетчасть.Как я могу это исправить?
Кроме того, если я переключаюсь на один контейнер и меняю символическую ссылку, он автоматически изменяется и в другом контейнере.