ডকারের ডেটা ডিরেক্টরি পরিবর্তন করুন


8

আমি কীভাবে ডকারের ডেটা ডিরেক্টরি পরিবর্তন করতে পারি যেখানে ডকার কনটেইনারটি সংরক্ষণ করে (বা যেখানে lxc ধারকটি সংরক্ষণ করে)? আমার সার্ভারে একটি এসএসডি এবং একটি হার্ড ড্রাইভ পিঁপড়া রয়েছে আমি চাই যে হার্ড ড্রাইভে কনটেইনারটি সেভ হবে। ধন্যবাদ

উত্তর:


11

আমি বিশ্বাস করি যে এই গাইডটিতে আপনার একটি ভাল ব্যাখ্যা থাকবে।

আপনি ডকার ডেমোন শুরু করার সময় -g বিকল্পটি ব্যবহার করে ডকারের স্টোরেজ বেস ডিরেক্টরি (যেখানে ধারক এবং চিত্রগুলি যায়) পরিবর্তন করতে পারেন।

উবুন্টু / ডেবিয়ান: বিকল্পটি /etc/default/dockerদিয়ে আপনার ফাইলটি সম্পাদনা করুন -g:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"

ফেডোরা / সেন্টোস: সম্পাদনা /etc/sysconfig/dockerকরুন এবং -gঅন্যান্য_আরগ ভেরিয়েবলের বিকল্পটি যুক্ত করুন : প্রাক্তন। other_args="-g /var/lib/testdir"। যদি একাধিক বিকল্প থাকে তবে নিশ্চিত হয়ে নিন যে আপনি এগুলি "" এ সংযুক্ত করে রেখেছেন। পুনঃসূচনা করার পরে, (পরিষেবা ডকার পুনঃসূচনা) ডকারের নতুন ডিরেক্টরিটি ব্যবহার করা উচিত।

চিত্র স্টোরেজ পরিবর্তন করার জন্য একটি সিমলিংক ব্যবহার করা অন্য পদ্ধতি।

সাবধানতা - এই পদক্ষেপগুলি আপনার বর্তমান / var / lib / ডকারের প্রকৃত ডিরেক্টরি হওয়ার (অন্য কোনও স্থানে সিলেমিংক নয়) উপর নির্ভর করে।

1) স্টপ Docker: service docker stop। কোনও ডকার প্রক্রিয়া PS ছদ্মবেশী চলছে তা যাচাই করুন

2) ডাবল চেক ডকার সত্যিই চলছে না। বর্তমান ডকার ডিরেক্টরিটি দেখুন: এলএস/var/lib/docker/

2 খ) একটি ব্যাকআপ করুন - tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz

3) /var/lib/dockerডিরেক্টরিটি আপনার নতুন পার্টিশনে স্থানান্তর করুন :mv /var/lib/docker /mnt/pd0/docker

4) একটি সিমিলিংক তৈরি করুন: ln -s /mnt/pd0/docker /var/lib/docker

5), ডিরেক্টরি অনুক্রমের একটি উঁকি নিতে এটা দেখে মনে হচ্ছে এটা এমভি আগের নিশ্চিত করতে: ls /var/lib/docker/(উল্লেখ্য চিহ্ন স্ল্যাশ

6) ডকার ব্যাক আপ শুরু করুন service docker start

7) আপনার ধারকগুলি পুনরায় চালু করুন সিমিলিংক সমাধান করুন)


4) কারণ কি? এটা কি দরকার? আমার ক্ষেত্রে, আমি চাই যে ডকার ফাইলগুলি একটি মাউন্ট করা RAID এ থাকতে পারে, বুট পার্টিশনে নয়।
রোমান মিক

9

উবুন্টুতে সাম্প্রতিকতম ডকার সংস্করণগুলিতে আপনি /etc/default/daemon.json এটিকে সম্পাদনা করবেন:

{
    "data-root": "/new/location"
}

2

এতে dataডিরেক্টরি পরিবর্তন করতে dockerঅপশনটি দিয়ে চালানো দরকার -g /my/data। আমার /etc/default/dockerসেট এ:

DOCKER_OPTS="-g /srv/docker"

আরও দেখুন এখানে আমার নোট

আমি রেখেছি dataডিরেক্টরিটি পরিবর্তন করতে :lxc/etc/lxc/lxc.conf

lxc.lxcpath = /srv/lxc


1

ডকার 1.13.0 এ আপগ্রেড করুন।

প্রকাশের নোটগুলি থেকে:

- New
The storage location of the Linux volume can now be moved

1

@ ম্যাটকের উত্তরটি প্রসারিত করতে:

Docker ডেমন নিয়ন্ত্রণ উপর Docker ডকুমেন্টেশন দাড়ায় যে প্ল্যাটফর্ম স্বাধীন এই কি হবে:

লাইনটি ধারণ করতে /etc/docker/daemon.json ফাইলটি সম্পাদনা করুন

{
    "data-root": "/mnt/docker-data",
    (...)
}

যেখানে /mnt/docker-dataডিরেক্টরির যেখানে আপনি Docker ইমেজ এবং পাত্রে বাঁচতে চাই হয়।

তারপর

sudo systemctl restart docker

এটি চালিয়ে কাজ করেছে কিনা তা আপনি পরীক্ষা করতে পারেন

docker info

এবং শুরু হওয়া লাইনের সামগ্রীগুলি সন্ধান করুন Docker Root Dir:

Https://stackoverflow.com/a/50217666/2209313 এবং https://unix.stackexchange.com/q/452368/36043 এও দেখুন ।

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