См. Прилагаемое изображение. В моем ящике CoreOS у Docker bulid есть флаг -f (файл), который позволяет вам указать файл докеров, не названный «Dockerfile», для создания сборки. Когда я пытаюсь вызвать «Docker -f Dockerfile-dev», например, в CircleCI, он терпит неудачу с «установленным флагом, но не определен: -f». В прилагаемом изображении вы можете видеть, что флаг -f неизвестен экземпляру Docker в CircleCI. Есть ли способ обойти это или «Dockerfile» - обязательное имя для докеров, используемых для сборки CircleCI? Можно ли использовать файл Dockerfile без имени «Dockerfile» с CircleCI?
ответ
docker build -f
является функцией от Докер 1.5 (см PR 9707)
CircleCI еще не интегрированы докер 1.5.
Запуск Docker 1.5 в нашей среде требует пользовательских патчей, и мы должны тщательно проверить исправленную версию, прежде чем сделать его доступным в наших контейнерах.
Обратите внимание на our changelog, чтобы получить уведомление, как только Docker 1.5 начнет поставляться с нашими контейнерами сборки по умолчанию.
June 2015: несмотря на то, что в журнале изменений еще не упоминается, Docker 1.6 может поддерживаться сейчас, то есть поддерживается docker build -f
.
Вот ответ, который я получил от CircleCI:
У нас уже есть сборки Докера 1.5 и 1.6, которые можно запускать на CircleCI, но они еще не в наших контейнерах. Прямо сейчас вы можете начать использовать Docker 1.5 или 1.6, если добавить к вашей circle.yml, например, в зависимости: предварительный раздел:
curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.5.0-circleci'; chmod 0755 /usr/bin/docker; true
или
curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.6.0-circleci'; chmod 0755 /usr/bin/docker; true
Вы хотите удалить docker из раздела services, если вы сделаете это, когда вы начинаете докер вручную.
Мы поместим 1.5 и 1.6 в наши контейнеры для сборки по умолчанию очень скоро, поэтому этот хак должен стать ненужным в течение следующих нескольких недель.
- 1. Dockerfile build - можно игнорировать ошибку?
- 2. Автоматизация Dockerfile
- 3. Что такое кодировка Dockerfile?
- 4. dockerfile с путем окна
- 5. Dockerfile - apt-get only?
- 6. Есть ли способ вставить Dockerfile?
- 7. Dockerfile Инструкция ONBUILD
- 8. Dockerfile vs docker-compose.yml
- 9. View dockerFile, связанный с тегом
- 10. Использовать переменные среды Dokku в DockerFile
- 11. Непоследовательное кэширование Dockerfile
- 12. Провиденциальная машина: Dockerfile (Dockerfile) должен находиться в контексте сборки
- 13. Go requirements.txt для Dockerfile
- 14. Pass аргумент dockerfile @ выполнения
- 15. Может ли Dockerfile продлить еще один?
- 16. Dockerfile: понимание инструкции VOLUME
- 17. Dockerfile с несколькими базового изображением
- 18. Как параметризовать Dockerfile?
- 19. Symlinked Dockerfile для сред
- 20. Dockerfile vs Docker image
- 21. Packer, Dockramp vs Dockerfile
- 22. Настройка MySQL с использованием Dockerfile
- 23. Установить mysql в dockerfile?
- 24. Dockerfile против докер-Compose ТОМ
- 25. Dockerfile для службы PHP
- 26. WSO2: как загрузить продукты в файл Dockerfile?
- 27. Как работает команда Dockerfile ADD?
- 28. Dockerfile для развертывания Yesod
- 29. Где сохранить файл Dockerfile в проекте?
- 30. Проблемы с Dockerfile со сборкой
Хорошая обратная связь, которая повторяет то, что я уже упомянул в своем ответе. +1 – VonC
С приведенным выше обходным путем на моем этапе «dependencies.override» я получаю эту ошибку при последующей команде 'docker run':« FATA [0000] Сообщение http: ///var/run/docker.sock/v1. 16/container/create: dial unix /var/run/docker.sock: нет такого файла или каталога. Вы пытаетесь подключиться к демону с поддержкой TLS без TLS? " –
@ JørnSchou-Rode У меня такая же ошибка, вот что сказал мне Кружок, и я проверил его, и он работает: Не могли бы вы добавить sudo перед командой curl? Это позволит убедиться, что установлена более новая версия Docker (в случае сбоя сборки, связанной с последним этапом установки). Кроме того, после установки Docker вам необходимо запустить демон Docker, поэтому, пожалуйста, добавьте стартовый старт доски sudo после установки новой версии Docker. – alberto56