Я пытаюсь запустить небольшое приложение Rails в контейнере докера. Я приближаюсь, но я борюсь с файлом Dockerfile.Добавление папки проекта, за исключением файла Docker
Я добавил в свой файл Docker следующую команду для рекурсивного добавления всех файлов в папку проекта.
ADD .
После этого я бегу
RUN bundle install --deployment
Однако, поскольку моя ADD
команда также добавляет Dockerfile, это означает, что мой кэш изображений ломает каждый раз, когда я редактирую мой Dockerfile заставляет меня rebundle.
По https://docs.docker.com/reference/builder/#the-dockerignore-file, я могу использовать .dockerignore
файл игнорировать Dockerfile, но это приводит к тому, команда docker build
на провал с
2014/09/17 22:12:46 Dockerfile was excluded by .dockerignore pattern 'Dockerfile'
Как я могу легко добавить свой проект к моему образу, но исключает Dockerfile, поэтому я не разбиваю кеш изображения докеров?
Реальная проблема здесь не наличие файла, но недействительности кэша докер изображения вызывает расслоение установить снова запустить. Это то, чего я пытаюсь избежать, чтобы ускорить процесс. –
Да, я понимаю вашу точку зрения (на самом деле я сталкиваюсь с той же проблемой). Но кажется, что это еще не возможно с '.dockerignore'file. Один из сопровождающих объясняет, почему в этом вопросе. Более того, полученная вами ошибка определяется [здесь, в источнике кода] (https://github.com/docker/docker/blob/e49c70109228d657790190007c8f9d7c55a25be2/api/client/commands.go#L136-L142). На данный момент я боюсь, что это невозможно. – Kuhess
Я только что изменил ответ, чтобы сосредоточиться на проблеме выселения кеша. – Kuhess