আমি কি টিএলএস ছাড়াই টিএলএস-সক্ষম ডিমনকে সংযোগ দেওয়ার চেষ্টা করছি?


221

আমি ডকার সম্পর্কে জানার চেষ্টা করছি , তবে আমি ক্রিপ্টিক (আমার কাছে) ত্রুটির বার্তা পেয়ে যাচ্ছি keep

সম্ভবত এর সহজতম উদাহরণটি আমি ইনস্টল করা ডকারের সংস্করণটি মুদ্রণের চেষ্টা করছে:

$ sudo docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.16/version:
    dial unix /var/run/docker.sock: no such file or directory.
    Are you trying to connect to a TLS-enabled daemon without TLS?

আমি স্রেফ ব্যবহারকারী গাইডের মধ্য দিয়ে যাচ্ছি এবং প্রতিটি পদক্ষেপটি ঠিকঠাক অনুসরণ করছি, তাই আমি অবাক হয়েছি যে আমি এই বার্তাটি পেয়েছি ... এখন আমার কী করা উচিত?

আমি কেবল লক্ষ্য করেছি যে আমি ব্যবহার না করলে আমি sudoত্রুটিটি পাই না:

$ docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8

অবশ্যই, এটি কোনও সমাধান নয় কারণ আমার sudoরাস্তার নিচে কোথাও ব্যবহারের প্রয়োজন হতে পারে ...

আমি সবেমাত্র একটি অন্য পৃষ্ঠা খুঁজে পেয়েছি যাতে " আপনি যদি ওএস এক্স ব্যবহার করেন তবে আপনার ব্যবহার করা উচিত নয় sudo।" আমি জানি না তারা কেবলমাত্র উদাহরণ হিসাবে বা সাধারণভাবে বোঝায়।


38
বোকা প্রশ্ন কিন্তু আপনি কি ডকার ডেমন শুরু করেছেন?
উসমান ইসমাইল

আমি ব্যবহারকারীর গাইড অনুসরণ করছি, সুতরাং হ্যাঁ আমি বিশ্বাস করি ডকার ডেমনটি শুরু হয়েছে। আমি কীভাবে ডাবল চেক করব?
শন

5
আসলে আপনি সমাধানটি খুঁজে পেয়েছেন। বুট 2 ডকারের সাথে আপনার কখনই লিনাক্সের সাথে সুডোর দরকার হবে না আপনার সবসময় সুডোর দরকার হয়। এর কারণ বুট 2 ডকার আসলে সেই ভার্চুয়াল বাক্সে সেই কমান্ডগুলি চালায় যা ডেমনটি সঠিকভাবে অ্যাক্সেস করার জন্য সেটআপ করা হয়।
উসমান ইসমাইল

1
আমি এই সমস্যাটির সাথে লড়াই করে যাচ্ছিলাম এবং সুডো ছাড়াই আমার পক্ষে কাজ করছিল
সাক করুন

6
প্রায় সমস্ত উত্তর ওএস এক্স নির্দিষ্ট (তারা উল্লেখ করে boot2docker) যদিও প্রশ্নে বা ট্যাগগুলিতে ওএস এক্সের স্পষ্টভাবে উল্লেখ করা হয়নি। যদি কেউ জেনেরিক উত্তরে আগ্রহী হয় তবে আমার উত্তরটি দেখুন।
পাইওটর ডব্রোগস্ট

উত্তর:


150

আমার জন্য, দৌড়াতে $(boot2docker shellinit 2> /dev/null)সমস্যা স্থির হয়েছে।

এটি আপনার বর্তমান টার্মিনাল সেশনে boot2docker shellinitকমান্ডের (তিনটি set -x ...লাইন) আউটপুট চালায় , যা dockerকমান্ডটি বুট 2 ডকার ভার্চুয়াল মেশিনটি কোথায় খুঁজে পেতে পারে তা জানতে দেয়।

$(boot2docker shellinit 2> /dev/null)আপনার ~/.bash_profileফাইলের নীচে যুক্ত করা নিশ্চিত করবে যে dockerকমান্ডটি কনফিগার করা হয়েছে, প্রতিবার আপনি যখন আপনার টার্মিনালটি খুলবেন।


মাছ শেল ব্যবহার করে মানুষের জন্য: boot2docker shellinit ^ /dev/null | source


মনে রাখবেন যে 2> /dev/null(এবং ফিশ সমতুল্য ^ /dev/null) areচ্ছিক। @ পাবলো-ফার্নান্দেজের পরামর্শ মতো, এটি Writing ..লাইনগুলি গোপন করে ।


আমি এটি ইতিমধ্যে করেছি, তবে আমি এটি ব্যাশ_প্রফাইলে যুক্ত করব, ভাল ধারণা
শন

স্পষ্টভাবে বুট 2 ডকার 1.5 এর সাথে সহায়তা করে, তবে পুরানো একটি বুট 2 ডকার 1.2 এটি সঠিকভাবে করেনি
ম্যাক্স মার্কভ

1
আমি একটি স্টেডার পুনঃনির্দেশ যুক্ত করেছি যাতে "রাইটিং ..." বিবৃতি উপস্থিত না হয়: $ (বুট 2 ডকার শেলিনিট 2> / দেব / নাল)
পাবলো ফার্নান্দেজ

3
মাছের শেল উল্লেখ করার জন্য আপনাকে ধন্যবাদ! আমার জন্য সমস্যা সমাধান।
সাইরিল্ক

1
নীচে সালভাদোর ডালির উত্তরে উল্লিখিত হিসাবে, boot2docker startশেল ইনিশ চালানোর আগে আপনিও চালাচ্ছেন তা নিশ্চিত করুন ।
কেভিন

78

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

আমি এটি দিয়ে সমাধান করেছি:

boot2docker start
$(boot2docker shellinit)

পিএস: অ্যালানকে ধন্যবাদ। আমি জানতে পেরেছিলাম যে তাদের অফিসিয়াল ডকুমেন্টেশনে এই পদ্ধতির প্রস্তাব দেওয়া হয়েছে ।

পিএস 2: কখনও কখনও boot2docker initদুটি কমান্ড চালানোর আগে প্রয়োজনীয় হতে পারে (আপনাকে হারুন ধন্যবাদ)


এই কাজ করেছে, কিন্তু কেন বুঝতে পারছি না? boot (বুট 2 ডকার শেলিনিট) কী করছে?
এমিল

এটি ম্যাক ওএস এক্সে কাজ করেছে তবে এমিলের মতো আমারও একই প্রশ্ন রয়েছে, কেন এই কাজটি করলেন?
নিসান

এটি মক ওএসএক্স 10.10.4 এ ডকার সরঞ্জাম সহ আমার পক্ষে কাজ করে নি।
b01

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

উইন্ডোজ মেশিনে আমার জন্যও কাজ করেছেন।
নওশাদ

55

আমার ক্ষেত্রে (লিনাক্স মিন্ট 17) আমি বিভিন্ন জিনিস করেছি এবং সেগুলির মধ্যে কোনটি সম্পূর্ণ প্রয়োজনীয় তা সম্পর্কে আমি নিশ্চিত নই।

আমি উবুন্টু প্যাকেজগুলি অন্তর্ভুক্ত করেছি:

$ sudo apt-get install apparmor lxc cgroup-lite

একটি ব্যবহারকারীকে গ্রুপে যুক্ত করা হয়েছিল docker:

$ sudo usermod -aG docker ${USER}

শুরু করা ডেমন (ওপেনসুএসের কেবল এটির প্রয়োজন)

$ sudo docker -d

ধন্যবাদ \ অ্যাট্রিবিউশন


ধন্যবাদ উসমান ইসমাইল , কারণ সম্ভবত এটিই ছিল শেষ জিনিস ...

বোকা প্রশ্ন কিন্তু আপনি কি ডকার ডেমন শুরু করেছেন? - উসমান ইসমাইল 17 ডিসেম্বর '14 এ 15:04 এ


আমার পক্ষে সমাধানের জন্য গিথুব @ মাইকেল জ্যাকোলকেও ধন্যবাদ , কারণ উসমানের মন্তব্য পড়ার সময় আমি ডিমনটি পরীক্ষা করিনি।

গিটহাব মন্তব্য :

sudo apt-get install apparmor lxc cgroup-lite
sudo apt-get  install docker.io
# If you installed docker.io first, you'll have to start it manually
sudo docker -d
sudo docker run -i -t ubuntu /bin/bash

অনুপস্থিত প্যাকেজগুলি লক্ষ্য করার জন্য ফ্রেডজান.নেট পোস্টকে ধন্যবাদ এবং ডিফল্ট উবুন্টু ইনস্টলেশন নির্দেশাবলী এবং অন্যান্য উপায় সম্পর্কে গুগল সম্পর্কে ভুলে যান

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


ওপেনসুএস সম্পর্কে ब्रेটফট 86 এর মন্তব্যে ধন্যবাদ


2
ধন্যবাদ! আমার ক্ষেত্রে (মিন্ট ১.1.১) এটি অনুপস্থিত ছিল ar
আলেকজান্দ্রি এল টেলিজ 21

2
নিজেকে ডকার গ্রুপে যুক্ত করা আমার পক্ষে কাজটি করেছে sudo adduser $USER docker,। কৌতুক এটি সাম্প্রতিক শেল পর কার্যকর করতে যাচ্ছিলেন curgroup=$(id -gn) && newgrp docker && newgrp $curgroup, থেকে অভিযোজিত superuser.com/questions/272061/...
Tero Tilus

1
আমি অনুমান করি যে লিনাক্সের চেয়ে বেশি লোক ওএস এক্স ব্যবহার করছে বলে এটির তুলনামূলক কম স্কোর রয়েছে? আমি উবুন্টু 14.04 ব্যবহার করছি এবং এটি আমার পক্ষে কাজ করে।
আইসড ওয়াটার

1
ওপেনসুএস এবং আমার কেবলমাত্র ডেমন শুরু করা দরকার
ব্লকলুপ

ডকার-মেশিন সম্পর্কে আমার অজ্ঞতা ক্ষমা করুন, তবে আমি জানি না। তবে যদি আপনি এটির সন্ধান করেন তবে দয়া করে মন্তব্য বা উত্তর সম্পাদনা করে এখানে এটি চিহ্নিত করুন। : ডি
এলমেসা

49

আন্ডারলাইনিং সমস্যাটি সহজ - /var/run/docker.sockডোমেন সকেটে ইউনিক্স করার অনুমতিের অভাব ।

থেকে ডেমন সকেট বিকল্প অধ্যায় এর Docker কম্যান্ড লাইন Docker 1.6.0 জন্য রেফারেন্স:

ডিফল্টরূপে, একটি ইউনিক্স ডোমেন সকেট (বা আইপিসি সকেট) তৈরি করা হয় /var/run/docker.sock, যার মধ্যে রুট অনুমতি বা ডকার গ্রুপ সদস্যতা প্রয়োজন

ব্যবহারকারীদের অধিকার প্রদানের প্রয়োজনীয় পদক্ষেপগুলি ফেডোরার জন্য ডকার ইনস্টলেশন নির্দেশে সুন্দরভাবে বর্ণনা করা হয়েছে :

ব্যবহারকারীদের ডকার ব্যবহারের অধিকার প্রদান করা

ডকার কমান্ড লাইন সরঞ্জামটি /var/run/docker.sockমালিকানাধীন একটি সকেট ফাইলের মাধ্যমে ডকার ডেমন প্রক্রিয়াটির সাথে যোগাযোগ করে root:root। যদিও এটি ডকার কমান্ডের জন্য sudo ব্যবহার করার পরামর্শ দেওয়া হয়েছে, ব্যবহারকারীরা যদি এড়াতে চান তবে প্রশাসক কোনও ডকার গ্রুপ তৈরি করতে পারে, এর নিজস্ব থাকতে পারে /var/run/docker.sockএবং ব্যবহারকারীদের এই গোষ্ঠীতে যুক্ত করতে পারে।

$ sudo groupadd docker
$ sudo chown root:docker /var/run/docker.sock
$ sudo usermod -a -G docker $USERNAME

উপরের পরিবর্তনগুলি কার্যকর করতে লগ আউট এবং পুনরায় লগ ইন করুন। দয়া করে মনে রাখবেন কিছু লিনাক্স ডিস্ট্রিবিউশন (উবুন্টু) এর Docker প্যাকেজ ইতিমধ্যেই সঞ্চালিত যে /var/run/docker.sockমধ্যে dockerঅপ্রয়োজনীয় পদক্ষেপ উপরে প্রথম দুই উপার্জন গ্রুপ।

ওএস এক্স এর ক্ষেত্রে এবং boot2dockerপরিস্থিতি আলাদা; ডকার ডিমন একটি ভিএম এর অভ্যন্তরে চলে তাই DOCKER_HOSTপরিবেশের ভেরিয়েবলটি অবশ্যই এই ভিএম-তে সেট করতে হবে যাতে ডকার ক্লায়েন্টটি ডকার ডিমনটি খুঁজে পেতে পারে। $(boot2docker shellinit)শেল চালিয়ে এটি করা হয় ।


1
হুম, আমার পরিস্থিতি একই রকম তবে সম্পূর্ণ ভিন্ন। আমি উবুন্টু 14.04 এ চলছে। ডকারটি আপাতদৃষ্টিতে সঠিকভাবে ইনস্টল করা হয়েছে (কেবল "ডকার" প্রবেশ করে আদেশগুলির তালিকা উপস্থিত হয়)। আমি একটি ডকার গ্রুপ তৈরি করেছি এবং আমার ব্যবহারকারীকে এর সদস্য করে তুলেছি। এটি কেবল একটি হোম সিস্টেম এবং আমি কেবল ডকারের সাথে খেলছি। তবে কেবল "ডকার" ব্যতীত অন্য কিছু ত্রুটিটি উপস্থিত করে। আমি এটি বিশ্বাস করি কারণ ডকার /var/run/docker.sock তৈরি করতে পারে না। আমার সিস্টেমে / var / रनটি / চালানোর জন্য একটি সিমিলিঙ্ক যা মূল: মূল এবং 755 পারম তাই ডকার সেখানে লিখতে পারে না। এ সম্পর্কে আমার সমাধান কী হবে তা নিশ্চিত নন।
স্টিভ কোহেন

পাইওটার, এই ব্যাখ্যাটি খুব কার্যকর। ক্যানিউ "boot (বুট 2 ডকার শেলিনাইট)" কেন কাজ করে তা বিশদভাবে ব্যাখ্যা করুন, তবে সাধারণ "বুট 2 ডকার শেলিনিট" কাজ করে না? আমি বুঝতে পেরেছি যে প্রথম বন্ধনী একটি সাবশেলে মৃত্যুদন্ড কার্যকর করতে বোঝায়, তবে অন্য কমান্ডগুলির কোনওটির প্রয়োজন না হলে ডকারকে সঠিকভাবে কেন কাজ করা প্রয়োজন তা আমি ধাঁধা দিতে সক্ষম হইনি ....
অ্যালেক্স এডেলস্টেইন

@ অ্যালেক্সএডেলস্টেইন boot2docker shellinitএবং অন্যান্য কমান্ডের মধ্যে পার্থক্য হ'ল এই কমান্ডটি নিজেই কোনও পরিবর্তন করে না তবে এটি আপনাকে চালানোর জন্য কেবল কমান্ড তৈরি করে (প্রিন্ট করে)। আপনি boot2docker shellinitপ্রথমে দৌড়াতে পারেন এবং তারপরে প্রতিটি কমান্ডের আউটপুট থেকে ম্যানুয়ালি অনুলিপি করে চালাতে পারেন। boot2docker shellinitসাব-প্রসেসে ( $()সিনট্যাক্স সহ) চালিয়ে সমস্ত কমান্ড চালানো আরও সহজ কারণ আউটপুটটির প্রতিটি লাইন স্বয়ংক্রিয়ভাবে শেল কমান্ড হিসাবে চালানো হচ্ছে। ডকস.ডকার.ইনস্টলেশন / ম্যাক /#from-your-command-line দেখুন যেখানে এটি বিস্তারিতভাবে দেখানো হয়েছে।
পাইওটর ডব্রোগস্ট

@ স্টেভকোহেন আপনি ডক সার্ভিসটি চলছে কিনা তা পরীক্ষা করতে পারেন sudo service docker status। আমার উবুন্টু 14.04 এ এটি ইনস্টলেশন পরে চলছিল না, যা ত্রুটির কারণ হয়েছিল।
razz0

1
মূল কারণের জন্য প্রকৃত ডকুমেন্টেশনগুলি সংযুক্ত করার জন্য ধন্যবাদ, আমার সমস্যার সমাধান করেছেন
রোনাল্ডফিন্ডলিং

23

ডকার ডিমন চলমান রয়েছে তা নিশ্চিত করুন:

service docker start

এটা আমার জন্য এটি স্থির!


sudo service docker startআমার জন্য
মিলিমেট্রিক

systemctl enable docker.serviceএবং systemctl start docker.service system.d লিনাক্স ব্যবহারকারীদের জন্য (আমার ক্ষেত্রে
খিলান

sudo service docker restartআমার জন্য
ফ্রোজেন শিখা

15
  1. ডকার নিজেকে লিনাক্স ধারকগুলির জন্য একটি স্বয়ংসম্পূর্ণ রানটাইম বলে। সাধারণ ভাষায় এটি সার্ভার এবং ক্লায়েন্ট হিসাবে কাজ করে।
  2. $ docker versionকমান্ড ক্যোয়ারী Docker এক্সিকিউটেবল প্রয়োজন এবং ডেমন / সেবা চলমান না অভ্যন্তরীণ ব্যবহারের জন্য।
  3. $ docker images or $ docker ps or $ docker pull centos হ'ল কমান্ডগুলি যা ডকার ডেমন / সার্ভিস চলমানগুলিতে কোয়েরি পাঠায়।
  4. ডিফল্টরূপে ডকার তার ডেমন / পরিষেবাতে টিএলএস সংযোগগুলি সমর্থন করে।
  5. আপনি যে ব্যবহারকারী হিসাবে লগ ইন করেছেন তা কেবলমাত্র ব্যবহারকারী দলের অংশ dockerবা আপনি sudoকমান্ডের আগে ব্যবহার করেছেন, যেমন $ sudo docker images, এটির জন্য টিএলএস সংযোগের প্রয়োজন হয় না।

ডকার ডকুমেন্টেশন পৃষ্ঠাতে যান ডকার ডেমন সকেটকে সুরক্ষিত করুন

শীর্ষে একটু স্ক্রোল করুন এবং warning sectionস্বচ্ছতার জন্য অনুসন্ধান করুন ।


1
জনপ্রিয় উত্তরগুলি এখনও পর্যন্ত ওএস এক্সে প্রয়োগ করা হয়েছে যদিও এটি একটি আরও সাধারণ, কারণটি ব্যাখ্যা করে এবং আমাকে এটি জিএনইউ / লিনাক্সে সমাধান করার অনুমতি দেয়।
sinisterstuf

1
@laffuste আপনার কমান্ডটি ব্যবহারকারীর অ্যাডিশনাল গ্রুপগুলি মুছবে। "-a" নিখোঁজ হওয়ার কারণে
পাভেল বার্সেক

3
@ পাওয়েলবার্কিক ভয়ানক ভুল, ধন্যবাদ:sudo usermod -a -G docker {username}
লাফস্টে

1
এই উত্তরটি প্রশ্নের উত্তর দেয় কীভাবে ? ত্রুটির কারণ কী? কিভাবে ঠিক হবে এটা? (আমি ওএস এক্সে নেই তাই বিদ্যমান উত্তরগুলি প্রযোজ্য নয়)।
পাইটর ডব্রোগস্ট

13

আপনার করতে হবে:

$boot2docker init
$boot2docker start

নিম্নলিখিত সেটিংসটি সমস্যার সমাধান করেছে:

$export DOCKER_HOST=tcp://192.168.59.103:2376
$export DOCKER_CERT_PATH=/Users/{profileName}/.boot2docker/certs/boot2docker-vm
$export DOCKER_TLS_VERIFY=1

1
এই কমান্ডটি পরিবেশের ভেরিয়েবল সেট করার জন্যও ব্যবহার করা যেতে পারে (ম্যানুয়ালি না করে):eval "$(boot2docker shellinit)"
শক্তি

11

এটা সম্ভব যে আপনার কাছে এখনও ফাইলটির অনুমতি নেই। আমি নিজেকে dockerগ্রুপ ব্যবহার করে যোগ করার পরে এটি ঘটেছিল

sudo gpasswd -a user docker

তবে এখনও লগআউট হয়নি।

এটি সমাধানের জন্য, আপনি হয় পুনরায় লগইন করতে পারেন, বা sg docker "docker <subcommand> ..."লগআউট করার আগে ব্যবহার করতে পারেন ।

আপনি যদি গ্রুপ এ docker থাকেন তবে /etc/groupপাসওয়ার্ড টাইপ না করে এটি চালানো উচিত।

https://dingyichen.wordpress.com/2015/02/05/docker-dial-unix-varrundocker-sock-no-such-file-or-directory-are-you-trying-to-connect-to-a- TLS-সক্রিয়-ডেমন-ছাড়া-TLS /


7

উবুন্টুতে এলএক্সসি-ডকার ইনস্টল করার পরে আপনাকে আপনার ব্যবহারকারীকে ডকার ব্যবহারকারী গোষ্ঠীতে যুক্ত করতে হবে:

sudo usermod -a -G docker myusername

এটি সকেট ফাইলের অনুমতিগুলির কারণে:

srw-rw---- 1 root docker 0 Mar 20 07:43 /var/run/docker.sock

অন্য কোনও মন্তব্যে যেমন পরামর্শ দেওয়া হয়েছে তেমন "-a" ব্যবহার না করে ব্যবহারকারীকে চালাবেন না বা এটি আপনার অতিরিক্ত গোষ্ঠীগুলির সেটিং মুছবে এবং কেবল "ডকার" গোষ্ঠীটি ছেড়ে যাবে

এটিই ঘটবে:

➜  ~  id pawel
uid=1000(pawel) gid=1000(pawel) groups=1000(pawel),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare),998(docker)
➜  ~  usermod -G docker pawel
➜  ~  id pawel               
uid=1000(pawel) gid=1000(pawel) groups=1000(pawel),998(docker)

6

টিএলডিআর : আমি যখন ডকার ইনস্টল করার জন্য একটি ক্লিনিক চালাচ্ছিলাম এবং বেশিরভাগ ব্যবহারকারীরা ওএস এক্স-তে ছিলেন তখন এই সমস্যাটি পেরিয়ে আমার পাইথন মিটআপ গ্রুপটি পেয়েছিল:

boot2docker init
boot2docker up

exportআউটপুট আপনাকে দেয় কমান্ডগুলি চালান

docker info

এটা কাজ করে আপনাকে বলতে হবে।


প্রসঙ্গ (আমাদের সমস্যাটিতে কী এনেছে)

আমি ডকার ইনস্টল করার জন্য একটি ক্লিনিকে নেতৃত্ব দিয়েছিলাম এবং বেশিরভাগ অংশগ্রহণকারীদের ওএস এক্স ছিল এবং আমরা এই সমস্যায় পড়েছিলাম এবং আমি বেশ কয়েকটি মেশিনে এটি কাটিয়ে উঠি। আমরা অনুসরণ করা পদক্ষেপ এখানে:

প্রথমত, আমরা হোমব্রু ইনস্টল করেছি (হ্যাঁ, কিছু উপস্থিতি এটি ছিল না):

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

তারপরে আমরা ক্যাস্ক পেয়েছিলাম, যা আমরা ভার্চুয়ালবক্স ইনস্টল করতে ব্যবহার করি, এবং তারপরে ডকার এবং বুট 2 ডকার ইনস্টল করার জন্য ব্রু ব্যবহার করি (সমস্ত OS OS এর জন্য প্রয়োজনীয়) ব্রুয়ের জন্য সুডো ব্যবহার করবেন না। :

brew install caskroom/cask/brew-cask
brew cask install virtualbox
brew install docker
brew install boot2docker

সমাধান

এটি তখনই হয়েছিল যখন আমরা এখানে এসে প্রশ্নকারীকে পেয়েছি। নিম্নলিখিত এটি স্থির করে। আমি বুঝতে পারি যে initএককালীন চুক্তি ছিল তবে আপনি upডক্কার শুরু করার সময় আপনাকে সম্ভবত দৌড়াতে হবে :

boot2docker init
boot2docker up

তারপরে কখন upরান করা হয়, এটি বেশ কয়েকটি exportকমান্ড দেয় । এগুলি অনুলিপি করুন এবং চালান।

শেষ পর্যন্ত docker infoআপনাকে বলতে হবে এটি সঠিকভাবে ইনস্টল করা আছে।

ডেমো করতে

বাকি কমান্ডগুলির এটি ডেমো করা উচিত। (উবুন্টু লিনাক্সে আমার সুডোর দরকার ছিল))

docker run hello-world
docker run -it ubuntu bash

তারপরে আপনার পাত্রে একটি রুট শেল থাকা উচিত:

apt-get install nano
exit

আপনার স্থানীয় ব্যবহারকারী ব্যাশে ফিরে যান:

docker ps -l

প্রায় 12 অঙ্ক হেক্সাডেসিমেল দেখুন (0-9 বা AF) শনাক্তকারী অধীনে "কনটেইনার ID" নয়, যেমন 456789abcdef। তারপরে আপনি আপনার পরিবর্তনটি প্রতিশ্রুতিবদ্ধ করতে এবং এটির কিছু বর্ণনামূলক নাম রাখতে পারেন, যেমন descriptivename:

docker commit 456789abcdef descriptivename`

5

লিনাক্স উবুন্টু / মিন্টে আপনাকে ডকার চালানোর জন্য যা কিছু প্রয়োজন:

sudo apt-get -y install lxc
sudo gpasswd -a ${USER} docker
newgrp docker
sudo service docker restart

Allyচ্ছিকভাবে, উপরের কাজ না করে আপনাকে দুটি অতিরিক্ত নির্ভরতা ইনস্টল করতে হবে:

sudo apt-get -y install apparmor cgroup-lite
sudo service docker restart

1
সম্ভব হলে আমি নিজেকে +1 দিতাম - আমি একটি সমাধান খুঁজছিলাম এবং আমার নিজের সমাধানটি ভুলে গিয়েছিলাম যা আমি ভুলে গিয়েছিলাম :)
tomrozb

এটি আমাকে সাহায্য করেছিল। আমি বুঝতে পেরেছি যে ডক সার্ভিস ইনস্টলেশন পরে চলছে না, সুতরাং sudo service docker startআমার উবুন্টু 14.04 এ সমস্যাটি সমাধান করুন।
razz0

3

আমি এখানে সমাধানগুলি চেষ্টা করেছি, এবং বুট 2 ডকার কাজ করেনি।

আমার সমাধান: ম্যাকের বুট 2 ডকার আনইনস্টল করুন, ভার্চুয়ালবক্সে একটি সেন্টোস 7 ভিএম ইনস্টল করুন এবং সেই ভিএম এর ভিতরে ডকারের সাথে কাজ করুন।


3

আমার জন্য নিম্নলিখিত পদক্ষেপগুলি কাজ করেছে:

  1. আমি লক্ষ্য করেছি যে docker run hello-worldদৌড়াদৌড়ি প্রশ্নের মধ্যে যেমন এই মোজা ত্রুটি সঙ্গে ব্যর্থ হয়, কিন্তু sudo docker run hello-worldকাজ চলছে ।
  2. আমি আমার বর্তমান ব্যবহারকারীকে এই dockerগোষ্ঠীতে যুক্ত করেছি sudo adduser user docker,। তারপরে আপনাকে অবশ্যই আপনার মেশিনটি পুনরায় চালু করতে হবে বা ব্যবহার করতে হবে su - user( গ্রুপটিতে groupsথাকলে কমান্ড ব্যবহার করে পরীক্ষা করুন docker)।

তার পরে, hello-worldকাজ শুরু।

আমার উত্তর উপর ভিত্তি করে আমি sudo ছাড়া ডকার কিভাবে ব্যবহার করতে পারি? যা কী ভুল তা ব্যাখ্যা করে।



দলে নিজেকে যোগ করার পরে, `newgrp ডকার করুন; newgrp প্রাথমিক-গোষ্ঠীটি নতুন প্রাথমিক গোষ্ঠী ডকার সহ একটি সাব-শেল তৈরি করে, তারপরে সঠিক প্রাথমিক গোষ্ঠীটিকে পুনরায় প্রতিষ্ঠিত করে। (কিছুটা হ্যাক)
ctrl-alt-delor

2

এটি মূল্যবান হিসাবে, আমি ভার্চুয়ালবক্স আনইনস্টল এবং পুনরায় ইনস্টল না করা পর্যন্ত এই প্রশ্নে এবং এই সম্পর্কিত প্রশ্নে আমি সমস্ত সমাধান চেষ্টা করেছিলাম এবং কেউই আমার সমস্যার সমাধান করেনি । এই প্রক্রিয়াটি ভার্চুয়ালবক্সকে 4.2.16 সংস্করণ থেকে 4.3.22 সংস্করণে উন্নীত করেছে (আমার আগেরটি কয়েক মাস ধরে সিস্টেমে অব্যবহৃত ছিল)।

তারপরে boot2dockerএবং dockerঅন্য কোনও সমন্বয় ছাড়াই কাজ করেছেন।


2

আমারও একই সমস্যা ছিল। একটি সহজ service docker restartসমস্যা সমাধান।


2

ডকার ডিমন টিসিপি পোর্টের পরিবর্তে ইউনিক্স সকেটের সাথে আবদ্ধ হয়। ডিফল্টরূপে ইউনিক্স সকেটটি ব্যবহারকারী রুটের মালিকানাধীন এবং অন্যান্য ব্যবহারকারীরা কেবল এটি সুডো ব্যবহার করে অ্যাক্সেস করতে পারবেন। ডকার ডিমন সর্বদা রুট ব্যবহারকারী হিসাবে চলে।

sudo groupadd docker
sudo usermod -aG docker $USER

আপনার গ্রুপ সদস্যপদটি পুনরায় মূল্যায়ন করা যাতে লগ আউট এবং লগ ইন করুন।

docker run hello-world

উত্স: ডকারকে অ-রুট ব্যবহারকারী হিসাবে পরিচালনা করুন


1

আমার একই সমস্যা ছিল এবং এটি সমাধান করার জন্য বিভিন্ন জিনিস চেষ্টা করে, .bash_ প্রোফাইলে ফাইল সংশোধন করে, লগ ইন এবং আউট, কোনও ভাগ্য ছাড়াই। শেষ পর্যন্ত, আমার মেশিনটি পুনরায় চালু করা এটি ঠিক করে দিয়েছে।


0

আছে তা নিশ্চিত করুন

127.0.0.1    localhost

আপনার মধ্যে

`/etc/hosts `

ফাইল।


0

আমি যখন জেনকিন্স থেকে ডকারের চিত্র তৈরি করছিলাম তখন আমি একই সমস্যার মুখোমুখি হয়েছিলাম। কেবলমাত্র dockerগোষ্ঠীতে ব্যবহারকারী যুক্ত করুন এবং তারপরে ডকার পরিষেবাগুলি পুনরায় চালু করুন এবং আমার ক্ষেত্রে আমাকে জেনকিনস পরিষেবাদি পুনরায় চালু করতে হবে।

এই ত্রুটিটি আমি পেয়েছিলাম:

http:///var/run/docker.sock/v1.19/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=59aec062a8dd8b579ee1b61b299e1d9d340a1340: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
FATAL: Failed to build docker image from project Dockerfile
java.lang.RuntimeException: Failed to build docker image from project Dockerfile

Solution:

[root@Jenkins ssh]# groupadd docker
[root@Jenkins ssh]# gpasswd -a jenkins docker
Adding user jenkins to group docker
[root@Jenkins ssh]# /etc/init.d/docker restart
Stopping docker:                                           [  OK  ]
Starting docker:                                           [  OK  ]
[root@Jenkins ssh]# /etc/init.d/jenkins restart
Shutting down Jenkins                                      [  OK  ]
Starting Jenkins                                           [  OK  ]
[root@Jenkins ssh]#

-1

আর একটি সম্ভাব্য কারণ হ'ল আপনার BIOS সিপিইউ ভিজ্যুয়ালাইজেশন সক্ষম নয়। যান এবং এটি প্রথম সক্ষম করুন!

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