Compose: تعذر النسخ عبر إنشاء عامل الإرساء

تم إنشاؤها على ٣ ديسمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: docker/compose

وجود هيكل المشروع التالي:

project_root/.travis/debian-stretch/minion/Dockerfile

FROM debian:stretch
COPY .travis/entrypoint_minion_run.sh /opt/
COPY .travis/config/minion.conf /etc/salt/minion.d/minion.conf
COPY .travis/config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN apt-get update && \
    apt-get install -y curl supervisor && \
    curl -L https://bootstrap.saltstack.com | sh

ENTRYPOINT ["/opt/entrypoint_minion_run.sh"]

project_root/.travis/debian-stretch/docker-compose.yml

version: '3.4'
services:
  master:
    build: .travis/debian-stretch/master
    hostname: master
    domainname: public.com
    ports:
     - "4505:4505"
     - "4506:4506"
    links:
      - minion1
      - minion2
      - minion3
  minion1:
    build: .travis/debian-stretch/minion
    hostname: minion1
    domainname: public.com
  minion2:
    build: .travis/debian-stretch/minion
    hostname: minion2
    domainname: public.com
  minion3:
    build: .travis/debian-stretch/minion
    hostname: minion3
    domainname: public.com

من project_root :

  • يمكنني تشغيل حاوية docker build -f .travis/debian-stretch/minion/Dockerfile . تبنى بشكل جيد
  • لا يمكنني الجري: docker-compose -f .travis/debian-stretch/docker-compose.yml --project-directory=. build minion1

أحصل على الفشل التالي:

Building minion1
Step 1/6 : FROM debian:stretch
 ---> 6d83de432e98
Step 2/6 : COPY .travis/entrypoint_minion_run.sh /opt/
ERROR: Service 'minion1' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder127631070/.travis/entrypoint_minion_run.sh: no such file or directory

بالطبع entrypoint_minion_run.sh موجود تحت project_root/.travis/entrypoint_minion_run.sh

هل هو خطأ أم أنه خطأ في docker-compose.yml أو الإعداد الخاص بي؟

إصدار docker-ce الخاص بي: Docker version 17.09.0-ce, build afdb6d4
إصدار عامل عامل الإرساء الخاص بي: docker-compose version 1.17.1, build 6d101fb

arebuild kinquestion

التعليق الأكثر فائدة

يبدو أن المنشئ حاول نسخ project_root/.travis/debian-stretch/minion/.travis/entrypoint_minion_run.sh . جرب شيئا مثل

minion1:
  build:
    context: .
    dockerfile: .travis/debian-stretch/minion/Dockerfile

ال 3 كومينتر

يبدو أن المنشئ حاول نسخ project_root/.travis/debian-stretch/minion/.travis/entrypoint_minion_run.sh . جرب شيئا مثل

minion1:
  build:
    context: .
    dockerfile: .travis/debian-stretch/minion/Dockerfile

إنه يعمل بالطريقة التي اقترحتها.
شكرا لك!

السؤال هو: ألا يجب أن يعمل بدون هذا التغيير ، ويتم استدعاؤه على النحو التالي: docker-compose -f .travis/debian-stretch/docker-compose.yml --project-directory=. build ؟

kiemlicz عندما تكتب

build: .travis/debian-stretch/master

إنه يعادل

build:
  context: .travis/debian-stretch/master
  dockerfile: Dockerfile

التوجيه --project-directory لا يؤثر في ذلك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات