আমরা WORKDIR
ডিরেক্টরিকে কাজের ডিরেক্টরি হিসাবে সেট করতে ব্যবহার করতে পারি Dockerfile
, তবে আমরা সেট না করলে ডিফল্ট মানটি কী?
আমরা WORKDIR
ডিরেক্টরিকে কাজের ডিরেক্টরি হিসাবে সেট করতে ব্যবহার করতে পারি Dockerfile
, তবে আমরা সেট না করলে ডিফল্ট মানটি কী?
উত্তর:
এটি /
তাই, রুট ডিরেক্টরি বলে
ডিফল্ট প্রকৃতপক্ষে /
অন্য কোথাও বলা হয়েছে। তবে এটি অবশ্যই উল্লেখযোগ্য যে আপনি খালি ডকার চিত্র ( FROM scratch
) থেকে প্রায় কখনই চলবেন না , সুতরাং WORKDIR
সম্ভবত আপনি যে বেস ব্যবহার করছেন সেটিই সেট করে set
উদাহরণস্বরূপ, https://github.com/docker-library/tomcat/blob/master/Dockerfile-lpine.template রয়েছে WORKDIR $CATALINA_HOME
এবং https://github.com/dockerfile/ubuntu/blob/master/Dockerfile রয়েছে WORKDIR /root
। ( https://hub.docker.com/r/base/archlinux/~/dockerfile/WORKDIR
তবে ব্যবহার হয় না ))
সুতরাং আপনার নিজের WORKDIR
স্পষ্টভাবে সেট করা ভাল ।
একটি ধারক মধ্যে বাইনারি চালানোর জন্য ডিফল্ট ওয়ার্কিং ডিরেক্টরি হ'ল মূল ডিরেক্টরি ( /
), তবে বিকাশকারী ডকফেরফিল ওয়ার্কডির কমান্ডের সাহায্যে একটি আলাদা ডিরেক্টরি সেট করতে পারে। অপারেটর এটিকে ওভাররাইড করতে পারে:
-w="": Working directory inside the container
এখানে: https://docs.docker.com/engine/references/run/#workdir
যেহেতু কোনও ব্যবহারকারী নেই তবে কেবল জন্মগত ডকার বা কন্টেইনারটিতে কড়া কথা বলার একটি রুট। সুতরাং, যে পরিবর্তনের জন্য যে ধারক একটি কমিট হিসাবে এই হতে হবে লোক বলেন। সুতরাং যেটির পিডাব্লুডি বা আপনি যেমন ওয়ার্কডিআরকে জিজ্ঞাসা করেছিলেন তা /
ডিফল্টরূপে মূল এবং প্রতিটি সময় আপনি এটির মতো চালান /bin/bash
:
$docker exec -i -t 53f784fwer54 /bin/bash
চলমান পাত্রে এটি আপনাকে এখানে /
মূল ডিয়ারে রাখবে।
/
ভুল এবং অপ্রাসঙ্গিক। নতুন ধারকের ডিফল্ট ওয়ার্কডিরটি চিত্রের ডিফল্ট ওয়ার্কডিরের সমান। উদাহরণস্বরূপ, আমি docker exec -ti <my_app> /bin/bash;
তখনই নতুন বাশ প্রক্রিয়াটিতে ছুটে pwd
এসেছি এবং আমি দেখতে পাচ্ছি যে ওয়ার্কিং ডিরেক্টরিটি রয়েছে /app
।
RUN pwd