В подкаталогах есть небольшая конфигурация docker-compose с файлами Dockerfiles и .dockerignore.Я не могу понять, почему мои изображения после сборки содержат все, даже если у меня есть некоторые элементы, которые нужно игнорировать в .dockerignore.Вот что у меня есть
docker-compose.yml
docker
├── app
│ ├── Dockerfile
│ └── .dockerignore
└── web
├── Dockerfile
├── nginx.conf
└── .dockerignore
Пример .dockerignore:
**/.dockerignore
docker-compose.yml
log
**/log
../../log
Я просто запускаю это следующим образом:
docker-compose up -d --build --no-cache
Ничего из вышеперечисленного не было проигнорировано .. Что я делаю не так?
docker-compose version 1.23.2, build 1110ad01
Добавление Dockerfile для службы приложений (см. Docker-сочинить).Docker-compose объединяет два изображения с помощью приложения ROR и nginx.Для обоих dockerfiles у меня есть dockerignore.Итак, я понимаю, что я могу сказать, что именно я хочу в каждом.Но это не так.Как я могу игнорировать некоторые файлы в пакете?Или я должен поместить свой Dockerfile и dockerignore по-разному, так как сборка работает только внутри контекста ... Я запутался.
FROM ruby:2.4.1
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs imagemagick
# Configuring main directory
RUN mkdir -p /var/www/example.com
WORKDIR /var/www/example.com
# Setting env up
ENV RAILS_ENV='production'
ENV RACK_ENV='production'
# Adding gems
COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock
RUN bundle install --jobs 20 --retry 5 --without development test
# Adding project files
COPY . .
EXPOSE 3000
CMD ["bundle", "exec", "puma", "-C", "config/puma.rb"]
Поэтому я подумал, что COPY . .
сначала проверяет .dockerignore .. нет?