ডকার: একটি ডকফাইলে RUN mkdir চালানো যায় না


116

ডকার চিত্র তৈরি করার সময় এটি একটি ত্রুটি বার্তা:

পদক্ষেপ 18: রুন এমকেডির / ভের / www / অ্যাপ অ্যান্ড অ্যান্ড শাউন luqo33: www-data / var / www / app ---> 7b5854406120 এমকেডির চলমান: ডিরেক্টরি '/ var / www / অ্যাপ্লিকেশন' তৈরি করতে পারে না: এ জাতীয় ফাইল বা ডিরেক্টরি নেই

এটি ডকফাইফাইলের একটি খণ্ড যা ত্রুটির কারণ ঘটায়:

FROM ubuntu:14.04
RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33

<installing nginx, fpm, php and a couple of other things>

RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
VOLUME /var/www/app
WORKDIR /var/www/app

"এমকেডির: ডিরেক্টরি '/ var / www / অ্যাপ' তৈরি করতে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" শব্দটি এত অযৌক্তিক - অবশ্যই এই জাতীয় ডিরেক্টরি নেই। আমি এটি তৈরি করতে চাই। এখানে কি ভুল?


4
এখানে ডকার-নির্দিষ্ট কিছুই নেই, বিটিডব্লিউ - আপনার যেমন mkdir /var/www/appসিস্টেম ব্যতীত চলত না তেমন সমস্যা হয় /var/www
চার্লস ডাফি

উত্তর:


178

সমস্যাটি হ'ল /var/wwwউভয়ই বিদ্যমান নেই এবং mkdirএটি ডিফল্টরূপে পুনরাবৃত্ত হয় না - এটি আশ্বাস দেয় যে তাত্ক্ষণিক অভিভাবক ডিরেক্টরি উপস্থিত রয়েছে।

ব্যবহার করুন:

mkdir -p /var/www/app

... বা এমন একটি প্যাকেজ ইনস্টল করুন যা /var/wwwআপনার ডকফাইফিলের এই পর্যায়ে পৌঁছানোর আগে তৈরি করে ।


এই বিষয়টি চিহ্নিত করার জন্য ধন্যবাদ. যাইহোক, আপনি কী প্যাকেজটি তৈরি করবেন তার অর্থ /var/www?
luqo33

এটি উবুন্টু 14.04 প্যাকেজিং সম্পর্কে একটি প্রশ্ন; আমি সেখানে বিশেষজ্ঞ নই।
চার্লস ডাফি

60

অ-বিদ্যমান প্যারেন্ট ডিরেক্টরি (গুলি) থেকে ঝুলন্ত উপ-ডিরেক্টরিগুলি তৈরি করার সময় আপনাকে অবশ্যই -pপতাকাটি পাস করতে হবে mkdir... দয়া করে আপনার ডকফেরাইলটি আপডেট করুন

RUN mkdir -p ... 

আমি এটি পরীক্ষা করেছি এবং এটি সঠিক।


17

আপনি সহজভাবে ব্যবহার করতে পারেন

WORKDIR /var/www/app

ফোল্ডারগুলির অস্তিত্ব না থাকলে এটি স্বয়ংক্রিয়ভাবে তৈরি করবে।

তারপরে আপনার যে ডিরেক্টরিতে থাকা দরকার তা আবার ফিরে যান।


-1

পূর্ববর্তী ব্যবহারের ক্ষেত্রেগুলি বাদে আপনি নতুন ডমি ফোল্ডারগুলি এখানে তৈরি করতে চাইলে ডিরেক্টরি তৈরি করতে আপনি ডকার কমপোজও ব্যবহার করতে পারেন docker-compose up:

    volumes:
  - .:/ftp/
  - /ftp/node_modules
  - /ftp/files

এই উত্তর দিয়ে কী হয়েছে? হেলজগেটেরও দেরি হয়েছিল।
পিটার মর্টেনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.