ডেমন থেকে ডকার ত্রুটির প্রতিক্রিয়া: "সংঘাত ... ইতিমধ্যে ধারক দ্বারা ব্যবহৃত"


135

আমি এখানে পেয়েছি নিম্নলিখিত নির্দেশাবলী সহ কোয়ান্টাম জিআইএস চালানোর জন্য আমার পিসিতে ডকার ব্যবহার করছি: ডকার-কিগিস-ডেস্কটপ - কিজিআইএস ডেস্কটপ চালিত একটি সাধারণ ডকার পাত্র

এই ত্রুটি বার্তাটি পেতে শুরু করা শেষ সপ্তাহ পর্যন্ত সবকিছু ঠিকঠাক চলছে:

Error response from daemon: Conflict. 
The name "qgis-desktop-2-4" is already in use by container 235566ae17b8. 
You have to delete (or rename) that container to be able to reuse that name.

এই সাইটে ক্লু সন্ধান করার পরেও এর অর্থ কী তা আমি পুরোপুরি নিশ্চিত নই। আমি এই ঘটনার আগে কিছু পরিবর্তন করি নি এবং সফলভাবে এই কমান্ডটি দিয়ে কন্টেইনারটি চালু করেছি:

sudo docker run --rm --name="qgis-desktop-2-4"     -i -t     -v ${HOME}:/home/${USER}     -v /tmp/.X11-unix:/tmp/.X11-unix     -e DISPLAY=unix$DISPLAY     kartoza/qgis-desktop:latest

আমি এটা কিভাবে ঠিক করবো?

উত্তর:


217

মনে হচ্ছে নামেরটিতে একটি ধারকটি qgis-desktop-2-4ইতিমধ্যে সিস্টেমে বিদ্যমান। সত্যিকারের উপস্থিতি আছে কিনা তা নিশ্চিত করতে আপনি নীচের কমান্ডের আউটপুট চেক করতে পারেন:

$ docker ps -a

উপরের কমান্ডের আউটপুটে শেষ কলামটি নামগুলির জন্য।

যদি ধারকটি বিদ্যমান থাকে তবে এটি ব্যবহার করে এটি সরিয়ে ফেলুন:

$ docker rm qgis-desktop-2-4

বা জোর করে ব্যবহার করে,

$ docker rm -f qgis-desktop-2-4

এবং তারপরে একটি নতুন ধারক তৈরি করার চেষ্টা করুন।


আরে @ ধর্মিত মন্তব্যের জন্য ধন্যবাদ। আমি চেষ্টা করেছিলাম কিন্তু এখন নিম্নলিখিত ত্রুটি বার্তাটি পানgroupadd: GID '0' already exists useradd: user 'root' already exists No protocol specified Warning: qgis.bin: cannot connect to X server unix:0.0
শহীদ_সি

দেখে মনে হচ্ছে যে চিত্রটি ব্যবহারকারীকে মূল তৈরি করার চেষ্টা করেছে এবং একটি মূল গোষ্ঠী যা উভয়ই ইতিমধ্যে বিদ্যমান। ডকার ডিফল্ট ব্যবহারকারী এবং গোষ্ঠী হিসাবে রুট: রুট ব্যবহার করে। আপনি যখন প্রথম ধারকটি সরিয়ে ফেলেন তখন প্রথম সমস্যাটি স্থির হয়।
luxas

হুম, অদ্ভুত তাই কেন 3 - 4 মাস দিয়ে শুরু করার জন্য এটি সূক্ষ্ম কাজ করছিল। এটিকে ঠিক করতে আমি কী করতে পারি কোনও ধারণা ?!
শহীদ_সি

1
আমরা কীভাবে পুরানোটিকে হত্যার পরিবর্তে আবার একই নামের সাথে অনুরোধ করার পরিবর্তে বিদ্যমান পাত্রে পুনরায় চালু করতে পারি?
ধনেশ মানে

13
@ ধনেশমনে docker restart, বা docker stop& docker startআপনাকে সহায়তা করা উচিত।
ধর্মিত

34

আদেশের পরিবর্তে: docker run

আপনার ব্যবহার করা উচিত:

docker start **CONTAINER ID**

কারণ ধারকটি ইতিমধ্যে বিদ্যমান

অধিক তথ্য


1
'ডকার স্টার্ট' হোস্ট নেটওয়ার্কিং, কমান্ড লাইন থেকে ভলিউম মাউন্ট এবং আমার ক্ষেত্রে প্রয়োজনীয় অন্যান্য অপশনগুলি সক্ষম করার বিকল্প দেয় না। সুতরাং ব্যক্তিগতভাবে আমি চালাতে হবে (ছাঁটাই) তারপর চালানো।
এইচ এইচ- ক্যারোল বাসকিনের কাছে

1
@ ঘোড়াশায়ার যখন আমি ডকার শুরু করি <myContainerName> এটি সমস্ত উন্মুক্ত পোর্ট এবং ভলিউম মাউন্টগুলি পুনঃপ্রকাশ করে। সুতরাং আপনি কীভাবে প্রাথমিকভাবে আপনার ধারকটি চালিয়েছিলেন তার উপর নির্ভর করে সেই সেটিংসটি ডকার শুরুর সাথে সমাধান করা উচিত।
djchapm

হ্যাঁ, এই ধরণের স্তন্যপানটি যেমন আমি এটি উভয়ভাবেই কাজ করতে চাই তেমনি .... দলে যোগদানকারী বিকাশকারীদের এবং এটির আগে একবার চালানো বিকাশকারীদের জন্য / চালানো শুরু করুন। এটি খুব আদর্শবান নয় :( ওহ, আমি অনুমান করি যে বাশ লিপিগুলিতে যুক্তিযুক্ত হলে আমার কিছু করতে হবে
ডিন হিলার

9

আমি এই ত্রুটিটি বেশ পেয়েছি তাই এখন আমি সমস্ত অব্যবহৃত পাত্রে একবারে ব্যাচ অপসারণ করছি:

docker container prune 

-fপ্রম্পট ছাড়াই জোর করে অপসারণ যোগ করুন ।

সমস্ত অব্যবহৃত পাত্রে (অপসারণ ছাড়াই) তালিকাভুক্ত করতে:

docker container ls -a --filter status=exited --filter status=created 

অন্যান্য বিষয়বস্তু (নেটওয়ার্ক, ভলিউম, ইত্যাদি) ছাঁটাই করতে এখানে আরও উদাহরণ দেখুন ।


8

আমার মতো গুগল থেকে এখানে অবতরণের লোকদের জন্য এবং একটি ভাগ করে নেওয়া পরিষেবাদির মাধ্যমে একাধিক ডকার-রচনা ফাইল ব্যবহার করে কেবল পাত্রে নির্মাণ করতে চান:

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

1 ম: একই নেটওয়ার্ক এবং ধারকটির নাম ডকার-রচনাতে সেট করুন

প্রকল্প 1-এ ডকার-রচনা:

version: '3'

services:
    service1:
        depends_on:
            - postgres
        # ...
        networks:
            - dockernet

    postgres:
        container_name: project_postgres
        image: postgres:10-alpine
        restart: always
        # ...
        networks:
            - dockernet

networks:
    dockernet:

প্রকল্প 2-তে ডকার-রচনা:

version: '3'

services:
    service2:
        depends_on:
            - postgres
        # ...
        networks:
            - dockernet

    postgres:
        container_name: project_postgres
        image: postgres:10-alpine
        restart: always
        # ...
        networks:
            - dockernet

networks:
    dockernet:

2 য়: -p প্যারাম ব্যবহার করে একই প্রকল্প সেট করুন বা দুটি ডিরেক্টরি একই ডিরেক্টরিতে রেখে দিন।

docker-compose -p {projectname} up

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