ডকার - আপনি কীভাবে কোনও ধারকটিতে স্বয়ংক্রিয় পুনঃসূচনা অক্ষম করবেন?


156

আমি এর সাথে অটো-পুনঃসূচনা সক্ষম করতে পারি --restart=always, তবে আমি ধারকটি থামানোর পরে, কীভাবে আমি সেই বৈশিষ্ট্যটি বন্ধ করব?

আমি সাধারণত একটি ওয়েবসারভার চালিত করি এবং সাধারণত 80 বন্দর মানচিত্রটি 80:

docker run -d --restart=always -p 80:80 -i -t myuser/myproj /bin/bash

তবে এমন অনেক সময় আছে যখন আমি আমার চিত্রের একটি নতুন সংস্করণ চালাতে চাই, তবে আমি পুরানো ধারকটি প্রায় রাখতে চাই। সমস্যাটি হ'ল যদি সেখানে একাধিক পাত্রে থাকে তবে সেগুলির মধ্যে --restart=alwaysকেবল একটি (এলোমেলো?) শুরু হয় কারণ তারা সবাই হোস্টের 80 পোর্টের পক্ষে প্রার্থনা করছে।

উত্তর:


326

--restart=unless-stopped@ শিবাশিস উল্লিখিত হিসাবে আপনি বিকল্পটি ব্যবহার করতে পারেন , বা পুনঃসূচনা নীতিটি আপডেট করতে পারেন (এটির জন্য ডকারের 1.11 বা আরও নতুন প্রয়োজন);

এবং ডকার পুনরায় চালু নীতিগুলির জন্য ডকুমেন্টেশনdocker update দেখুন ।

docker update --restart=no my-container

যা বিদ্যমান কন্টেইনারটির জন্য পুনঃসূচনা-নীতি আপডেট করে ( my-container)


69
আপনার docker update --restart=no $(docker ps -a -q)সমস্ত পাত্রে আপডেট করার জন্য ব্যবহার করুন :-)
মূইব্রোককে

33

আপনি আপনার ধারকটি দিয়ে এটি শুরু করতে পারেন --restart=unless-stopped


22

সমস্ত স্বতঃ-পুনঃসূচনা (ডিমন) পাত্রে অক্ষম করতে নীচে ব্যবহার করুন।

docker update --restart=no $(docker ps -a -q)

কোনও একক ধারক পুনরায় চালু করতে অক্ষম করতে নিম্নলিখিতটি ব্যবহার করুন।

docker update --restart=no the-container-you-want-to-disable-restart

যুক্তিযুক্ত :

আপনার ধারকগুলি প্রস্থান করার সময় স্বয়ংক্রিয়ভাবে শুরু হবে কিনা বা ডকার পুনরায় চালু হবে কিনা তা নিয়ন্ত্রণে ডকার পুনঃসূচনা নীতি সরবরাহ করে। এটি প্রায়শই দরকারী যখন ডকার একটি কী পরিষেবা চালাচ্ছেন।

মন্তব্য

আপনি যদি ডকার-রচনা ব্যবহার করে থাকেন তবে এটি জানতে কার্যকর হতে পারে।

পুনঃসূচনা না হ'ল ডিফল্ট পুনঃসূচনা নীতি এবং এটি কোনও পরিস্থিতিতে কোনও ধারক পুনরায় আরম্ভ করে না। যখন সর্বদা নির্দিষ্ট করা থাকে, ধারকটি সর্বদা পুনরায় চালু হয়। যদি প্রস্থান কোডটি অন-ব্যর্থতা ত্রুটি নির্দেশ করে তবে অন-ব্যর্থতা নীতি একটি ধারকটিকে পুনরায় চালু করে।

restart: "no"
restart: always
restart: on-failure
restart: unless-stopped

restart: always

12

আপনার যদি ধারকগুলি পুনরায় আরম্ভ করার ঝাঁকুনি থাকে, তবে ঝুলি পুনরায় আরম্ভের বিকল্পটি বিবেচনা না করেই আপনার থামানো বা আরএমের যে কোনও পাত্রে পুনরায় চালু হবে। এটি একটি বৈশিষ্ট্য, বাগ নয়।

আপনি যে পরিষেবাটি ভুলে গেছেন তা চালাচ্ছেন না তা নিশ্চিত করুন:

docker service ls

তারপরে, আপনি পরিষেবাটি বন্ধ করতে পারেন

docker service rm <service id discovered with previous command>

1
lsত্রুটিতে ফলাফলError response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
নেক্সা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.