উবার্টু 12.04-এ বুট ডাব্লু / আপস্টার্ট স্ক্রিপ্টে ডকারের ধারক কেন শুরু হচ্ছে না?


15

উবুন্টু 12.04 এবং ডকার 0.8.1 চলমান লিনোড ভিপিএসে ডকার অটো- স্টার্টের নির্দেশাবলী ব্যবহার করে, নির্দিষ্ট ধারকটি পুনরায় বুট শুরু হবে না।

একবার বুট করা, আমি সক্ষম

~$ sudo start [service-name]

এবং সবকিছু পরিকল্পনা মতো হয় তবে আমি পুনরায় বুট করার পরে পুনরায় আরম্ভ করার ধারকও করতে চাই।

টিউটোরিয়ালের স্ক্রিপ্টটি কি রিবুটগুলি পরিচালনা করতে ডিজাইন করা হয়নি?

/ ইত্যাদি / ডিফল্ট / ডকার ফাইলটিতে একটি লাইন থাকে:

DOCKER_OPTS="-r=false"

/etc/init/service-name.conf ডকার পৃষ্ঠা থেকে সরাসরি:

description "service description"                                                                                                            
author "me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
    # Wait for docker to finish starting up first.
    FILE=/var/run/docker.sock
    while [ ! -e $FILE ] ; do
        inotifywait -t 2 -e create $(dirname $FILE)
    done
    /usr/bin/docker start -a db5e61a9afa8
end script

2
আপনার আপস্টার্ট স্ক্রিপ্ট এবং কি কি বিষয়বস্তু আছে /etc/default/docker?
ব্রুনো পেরেরা

উত্তর:


6

গত কয়েক মাস ধরে কোনও সময়ে, টিউটোরিয়ালের আপস্টার্ট স্ক্রিপ্টটি ডকার শুরু হওয়ার অপেক্ষার লুপটি সরিয়ে ফেলতে পরিবর্তন করা হয়েছিল। আমি আমার আপস্টার্ট স্ক্রিপ্টগুলি থেকে লুপটি সরিয়েছি এবং আমার পাত্রে এখন পুনরায় বুট করার পরে সঠিকভাবে পুনরায় চালু করা হবে।

আমার /etc/init/service-name.conf স্ক্রিপ্টটি এখন এর মতো দেখাচ্ছে:

description "service description"                                                                                                            
author "me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
    /usr/bin/docker start -a db5e61a9afa8
end script

আমি নিশ্চিত নই যে এই লুপটিতে কী ছিল? সম্ভবত এটি আমার সিস্টেমে ভুল ফাইলটির দিকে ইঙ্গিত করছিল, যদিও আমি ডিফল্ট ডকার ইনস্টলে কোনও পরিবর্তন করি নি। আপাতত, আমি কিছুটা জটিল কাজের পরিবর্তে কোডটি সরিয়ে ফিক্সের জন্য ঠিক খুশি।


সিগন্যাল (ডকার-স্টার্ট) নির্গত করার জন্য ডকারের কাজটি পরিবর্তন করা এবং কনটেইনার কাজগুলি শুরু করার জন্য এই সিগন্যালটিকে আরও সূচনা করতে হবে up
মিকিবিবি

কমান্ড জারি করে আপনি ধারকটি এভাবে থামাতে পারবেন না stop service-name। আমি এই সমস্যার মুখোমুখি আছি :(
আহমেদ আল হাফুদ

3

যে কেউ উবুন্টু 14.04 ব্যবহার করে অ্যাপের জন্য ডকারের গন্ধ পাবেন। "ডকার.আইও" অপেক্ষা করার জন্য আপনাকে কেবল স্টার্টআপ স্ক্রিপ্টটি পরিবর্তন করতে হবে এবং "ডকার" এর মতো নয়:

description "Docker startup script for yum_repo"
author "me"
start on filesystem and started docker.io
stop on runlevel [!2345]
respawn
script
  /usr/local/bin/docker start -a yum_repo_run
end script

1

আমি হোস্ট হিসাবে উবুন্টু 13.10 ব্যবহার করছি এবং আমার একই সমস্যা ছিল। আমি দেখতে পেলাম যে ডকার ডকারের জন্য একটি আরসি স্ক্রিপ্ট ইনস্টল /etc/init.d/dockerকরে এবং একই সময়ে /etc/init/docker.conf এ একটি আপস্টার্ট স্ক্রিপ্ট ইনস্টল করে। /etc/init.d/dockerএই সমস্যাটি সরে যাওয়ার জন্য আমাকে আরসি স্ক্রিপ্টটি সরিয়ে ফেলতে হয়েছিল ।

আশা করি এটি আপনার পক্ষেও কাজ করে।


দুঃখের বিষয়, এইটি আমার পক্ষে কাজ করে নি।
জোডি

0
DOCKER_OPTS="-r=false"

এর অর্থ: আগের চলমান পাত্রে পুনরায় আরম্ভ করবেন না।

-rবিকল্পটি সরান বা এটিকে সত্যে পরিবর্তন করুন।


2
ডান, তবে মূল বিষয়টি হ'ল আপস্টার্ট হ্যান্ডেল ধারক পুনরায় আরম্ভ করা হবে, ডকার ডিমন নয়। যদি ডকার ডিমন পুনরায় বুটে কনটেইনারটি শুরু করে, তবে প্রক্রিয়াটি আপস্টার্ট দ্বারা পরিচালনা করা যায় না।
Jody

0

/var/run/docker.sockএকটি সকেট তাই -Sঅস্তিত্বের জন্য পরীক্ষা করার সময় আপনার ব্যবহার করা উচিত :

FILE=/var/run/docker.sock
while [ ! -S $FILE ] ; do
    inotifywait -t 2 -e create $(dirname $FILE)
done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.