সিস্টেম পুনরায় বুট করার সময় আমি কীভাবে অটোস্টার্ট ডকার ধারক করব?


46

আমি যেমন ডকার পাত্রে একটি ওয়ার্ডপ্রেস সাইট হোস্ট করেছি এবং আমি চাইছি যে এই পাতাগুলি বুট সময়ে সর্বদা শুরু করা উচিত, তাই এটি নিজে হাতে করা দরকার done


আপনি কোন উবুন্টু সংস্করণ ব্যবহার করেন?
মেথাক্স

উবুন্টু সার্ভার 14.04 ব্যবহার করে
নয়ন তিওয়ারি

এটি সার্ভারফল্টে জিজ্ঞাসা করা হয়েছে ।
ড্যান ড্যাসক্লেস্কু

Crossposted। জিনিস পোস্ট করার জন্য দয়া করে একটি সাইট বেছে নিন, অনেকগুলি নয়।
টমাস ওয়ার্ড

উত্তর:


34

এখন অবধি আমি মনে করি না যে এটি করার মতো কোনও উপায় আছে। পুনরায় চালু নীতি ব্যবহার করা একটি জটিল সমাধান

sudo docker run --restart=always -d your_image

এর অর্থ আপনি যখনই বন্ধ করবেন এটি আপনার কন্টেইনার থেকে প্রস্থান করবে যাতে আপনি আপনার হোস্ট শুরু করার সাথে সাথে ডকার পুনরায় আরম্ভ করার জন্য নেতৃত্ব দেয়।


আমি যেমন এটি অনুসন্ধান করি সেখানে শেফের মতো কিছু অটোমেশন সরঞ্জাম রয়েছে তবে কীভাবে সেগুলি ব্যবহার করতে হয় তা জানেন না
নয়ন তিওয়ারি

এটি এখনও উবুন্টু github.com/bflad/chef-docker/blob/master/README.md
মেথাক্স

2
এর জন্য সিস্টেমের সম্ভাবনাগুলি ব্যবহার করবেন না কেন? upstart এবং systemd উভয়ই এটিকে পুরোপুরি মোকাবেলা করতে পারে
রিশিন

29

বিদ্যমান পাত্রে পুনরায় চালু করার নীতিটি যুক্ত করা এটি খুব সাধারণ ব্যবহারের ক্ষেত্রে।

এটি নিম্নলিখিত কমান্ডের সাহায্যে করা যেতে পারে: docker update --restart {no,on-failure,unless-stopped,always} container_name

আরও বিশদ: ডকার - পাত্রগুলি স্বয়ংক্রিয়ভাবে শুরু করুন


2
এই আমার সমস্যা নিখুঁতভাবে সমাধান! আমার ডেটাবেস সহ একটি ধারক ছিল এবং আমার ম্যাক শুরু হওয়ার সাথে সাথে এটি শুরু হওয়া চাই। উল্লেখ করে যে এর চিত্রটি সর্বদা পুনরায় চালু হয়েছিল (থামানো না হলে), এটি কৌশলটি করেছে!
কলিন

21

উবুন্টু 15 এখন এই ব্যবস্থাপকের জন্য সিস্টেমেড, নমুনা সমর্থন করে:

someservicename.service

[Unit]
Description=Some service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 2 container_name

[Install]
WantedBy=multi-user.target

ডকার সাইটে আরও উপলব্ধ

পিএস প্রেটি কিউট কনফিগার :)


4

আমি যা করেছি তা হ'ল আপস্টার্ট ফাইলগুলি ব্যবহার করা।

আপনি ডকার ওয়েবসাইটে কিছু উদাহরণ এবং অন্যান্য সমাধান পেতে পারেন ।

/ Etc / init এর মতো একটি ফাইল তৈরি করুন:

Description "My container"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
   /usr/bin/docker start -a mycontainer
end script
pre-stop script
  /usr/bin/docker stop mycontainer
end script

দ্রষ্টব্য, ডকার ১.২ অনুসারে, পুনরায় চালু করার নীতিগুলি রয়েছে যা ডকার পরিষেবা চলাকালীন পাত্রে স্বয়ংক্রিয়ভাবে পুনরায় চালু করতে সহায়তা করতে পারে (উদাহরণস্বরূপ বুটের পরে)।

ব্যক্তিগতভাবে, আমি আমার ওয়ার্কস্টেশন সরবরাহের জন্য পুতুল ব্যবহার করি এবং এই ডকার মডিউলটি স্বয়ংক্রিয়ভাবে স্টার্টআপ স্ক্রিপ্টগুলি তৈরি করতে সক্ষম হয় যা আরও সম্পূর্ণ (স্টার্ট, স্টপ, পুনঃসূচনা, পরিষ্কার বিকল্পসমূহ) ...


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