systemctl বাসের সাথে সংযোগ করতে ব্যর্থ হয়েছে - ডকার উবুন্টু: 16.04 ধারক


72

আমি ডকার পাত্রে systemctlকমান্ডটি ব্যবহার করার চেষ্টা করছি ubuntu:16.04। আমি নিম্নলিখিত কমান্ড চালাচ্ছি ...

systemctl status ssh

তবে আমি ত্রুটি পাচ্ছি ...

Failed to connect to bus: No such file or directory

কেন এটি কাজ করছে না? এটি কি উবুন্টুর সাথে ডক পাত্রে চলার সাথে সম্পর্কিত? আমি কীভাবে systemctlসঠিকভাবে কাজ করতে পারি ?


2
ব্যবহারservice ssh start
বিদ্যুত

উত্তর:


50

আমি ধরে নিই যে আপনি আপনার ডকারের ধারকটিকে এমন কোনও কিছু দিয়ে শুরু করেন

docker run -t -i ubuntu:16.04 /bin/bash

এখন সমস্যাটি হচ্ছে আপনার init প্রক্রিয়া পিআইডি 1 /bin/bashসিস্টেমড নয় system সঙ্গে নিশ্চিত করুন ps aux

এছাড়াও আপনি ডাবাস মিস করছেন এর সাথে যোগাযোগের উপায় হবে। এখান থেকেই আপনার ত্রুটির বার্তা আসছে। তবে আপনার পিআইডি 1 সিস্টেমড না হওয়ায় এটি ডিবিএস ইনস্টল করতে সাহায্য করবে না।

ডকার ব্যবহার করার পরিকল্পনা আপনি কীভাবে করেছেন তা পুনরায় চিন্তা করা ভাল। প্রক্রিয়া পরিচালক হিসাবে সিস্টেমডের উপর নির্ভর করবেন না তবে ডকারের ধারক আপনার পছন্দসই অ্যাপ্লিকেশনটি অগ্রভাগে চালাবেন run


ওপেনশ-সার্ভারের মতো পরিষেবাগুলি ডিফল্ট সিসলোগ সুবিধাটিতে লগ করার জন্য কনফিগার করা হয়। আমি কীভাবে সিস্টেমেটকেলে নির্ভর না করে এসএসডি লগ পেতে পারি?
পার্থ শাহ

@ পার্থশাহ দয়া করে sshd ম্যান পৃষ্ঠাটি দেখুন। খনিতে নিম্নলিখিত বিকল্পগুলি রয়েছে: এটি -D দিয়ে কল করে আপনি এটিকে অগ্রভাগে রাখতে পারেন। -এর সাহায্যে আপনি সরাসরি লগগুলি মুদ্রণের নির্দেশ দেন। এগুলি পরে ডকারের সাথে পরিদর্শন করা যেতে পারে docker log
ব্যবহারকারী 228505

[FYI] /sbin/initপিআইডি = 1 প্রক্রিয়া হওয়ার সাথে এই ত্রুটিটি পেয়ে আসছিল । --privileged=trueনীচে @ সোনজায়া সোনজায়ার পরামর্শ অনুসারে যুক্ত করা সমস্যার সমাধান করেছে।
DimG

সুন্দর উত্তর !!
শচীন ভার্মা

11

অন্যরাও একই ধরণের সমস্যার কথা জানিয়েছেন। টার্মিনালটি শুরু করুন এবং টাইপ করুন:

$ env

আপনি কি এই জাতীয় পরিবেশ পরিবর্তনশীল দেখতে পাচ্ছেন?

XDG_RUNTIME_DIR=/run/user/`id -u`

id -uব্যাকটিক্সে যেখানে সংযুক্ত রয়েছে তা একক উদ্ধৃতি নয়। এই পরিবর্তনশীলটি 1000নিয়মিত ব্যবহারকারী এবং 0সুপার ব্যবহারকারী (সুডো) এর জন্য একটি সংখ্যায় পুনরায় ব্যাখ্যা করা হয় ।

যদি পরিবেশের পরিবর্তনশীল XDG_RUNTIME_DIRনা থাকে তবে আপনাকে এটি তৈরি করতে হবে। সম্পূর্ণ আলোচনা লঞ্চপ্যাড সিস্টেমযুক্ত উত্তরে রয়েছে


2
আমি সফলতা ছাড়াই এটি চেষ্টা করেছিলাম। যেহেতু আমার উবুন্টু ১.0.০৪ উদাহরণটিতে একটি ডকারের ধারক রয়েছে এবং আমি যে ব্যবহারকারী হিসাবে কাজ করছি সেট আপ করি নি root, তাই আমি XDG_RUNTIME_DIR=/run/root/0সফলতা ছাড়াই চলকটি ব্যবহার করেছি । তারপরে আমি ফোল্ডারটি চেক করে /runদেখলাম যে কোনও সাবফোল্ডার নেই /run/root। আমি কি আরও ভার্বোজ ত্রুটি বার্তা পেতে পারি? আমার এক নজর ছিল systemctl --helpতবে বিশদ ত্রুটির বার্তা পাওয়ার কোনও উপায় দেখতে পেলাম না।
ডানকান গ্রাভিল

1
আমারও একই সমস্যা রয়েছে এবং এটি আমার সমস্যার সমাধানও করতে পারেনি। আপনি কি কখনো এই এক আউট @DuncanGravill চিন্তা কি
মধ্যে Roeland

3
@ রোল্যান্ড হ্যাঁ আমি এসও তে অনুরূপ প্রশ্ন জিজ্ঞাসা করেছি যার জোরালো প্রতিক্রিয়া ছিল। এছাড়াও আমি ডকার ওয়েবসাইটে স্ব-গতির টিউটোরিয়ালগুলি দেখার পরামর্শ দিই। Videos ভিডিওগুলিতে এটি ব্যাখ্যা করা হয়েছে (কিছুটা অস্পষ্টভাবে) কীভাবে PID 1সাধারণত systemdকোন ডকারের ধারকটিতে ধারক এন্ট্রিপয়েন্ট সহ প্রতিস্থাপন করা হয় ।
ডানকান গ্রাভিল

উজ্জ্বল, ধন্যবাদ! সিস্টেম ইউনিট থেকে কোনও ইউজার ইউনিট শুরু / পরিচালনা করতে আমার এটির প্রয়োজন ছিল।
অ্যাড্রিয়ান গন্টার

5

যদি আপনি এই ত্রুটিটি লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম (ডাব্লুএসএল) এ পেয়ে থাকেন তবে আমি এটি খুঁজে পেয়েছি কারণ ডকার অসমর্থিত। এটি সিগ্রুপ এবং অন্যান্য পূর্বশর্তগুলির অভাবের কারণে।


3

এটা চেষ্টা কর:

docker run -ti -d --privileged=true images_docker  "/sbin/init"

অথবা

docker run -ti -d --privileged=true images_docker

একই ফলাফল হবে।

আমি এখানে ডকারের ডকটি থেকে পেয়েছি :

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

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


2
আপনি কি আপনার আদেশ এবং গ্রহণযোগ্য প্রশ্নের পার্থক্য ব্যাখ্যা করতে পারেন ?
মেলিবিয়াস

AskUbuntu স্বাগতম! সাহায্য করার চেষ্টা করার জন্য আপনাকে ধন্যবাদ! ডকুমেন্টেশনের একটি দ্রুত পর্যালোচনা আমাকে বিশ্বাস করতে পরিচালিত করে যে আপনি এই আদেশে কোনও ত্রুটি বা 2 করেছেন। আপনি যদি এটিকে সম্পাদনা করতে এবং আপনি কী করছেন এবং কীভাবে সমস্যাটি সমাধান করে তা ব্যাখ্যা করার জন্য আপনি যদি এত দয়াবান হন তবে আমাকে পিং করুন এবং আমি ফিরে এসে আপনাকে একটি উত্সাহ দেব!
প্রবীণ গীক

আপনি যখন চিত্র_ডোকার বলছেন, আপনি কি ভ্যানিলা উবুন্টু বলতে চাইছেন: 16.04? অথবা অন্য কিছু?
পার্থ শাহ

1

আপনি চলমান নাও হতে পারে systemd হল , ডিফল্ট বাস্তবায়ন যা Init 16,04 উপর। আপনি যদি 14.04 থেকে আপগ্রেড করেন তবে আপনি সম্ভবত এখনও আপস্টার্টে চলছেন , এবং সিস্টেমটেক্ট কমান্ড চালানোর ফলস্বরূপ আপনার প্রাপ্ত আউটপুট।

আমার উত্তরটি সিস্টেমটেক্টে দেখুন : কোমন্ড আরও 16.04 সার্ভার খুঁজে পাওয়া যায় নি


তবে এটি একটি উবুন্টু ধারক, যা ডিফল্টরূপে সিস্টেমেড থাকে না এবং এটি স্টার্টও না করে।
স্টেফান লাসিউইস্কি

কি? উবুন্টু ডিফল্টরূপে সিস্টেমে রয়েছে
2'6

স্টিফান: আমি বিশ্বাস করি যে আপনি ডকারের ক্ষেত্রে সঠিক।
হিউ বুন্টু

নকশট: আমার মন্তব্য 14.04 (আপস্টার্ট) থেকে 16.04 (সিস্টেমেড) এ আপগ্রেড করার ক্ষেত্রে কভার করে। সংস্করণ আপগ্রেড করার সময় আপস্টার্টটি বোধগম্য কারণে (যেমন: সিস্টেমটি ভঙ্গ না করা) কারণে সিস্টেমড দ্বারা প্রতিস্থাপন করা হয় না। পূর্ববর্তী ক্ষেত্রে, আমি বুঝতে পারি যে মুক্তির আপগ্রেড প্রক্রিয়াটি ডকারে ব্যবহৃত হবে না। আমি কল করা লিঙ্কটি দেখুন। আমি দেখতে পাচ্ছি যে বেশ কয়েকটি উত্তর এবং মন্তব্য ডকারের সুনির্দিষ্ট ক্ষেত্রে বিবেচনা করতে ব্যর্থ হয়েছে এবং ভবিষ্যতে উত্তর দেওয়ার সময় আমি এটি সন্ধান করব।
হিউ বুন্টু

1

কেবল dbusপরিষেবাটি শুরু করুন :

/etc/init.d/dbus start

0

ডকারের ধারকের ভিতরে, আমি মনে করি আপনি যদি এখনও সিস্টেমডের সাথে লড়াই করে থাকেন তবে আপনি আপডেট-rc.d করতে পারবেন। আমি আপডেট-rd.c দিয়ে চেষ্টা করেছি এবং এটি কার্যকর হয়।


0

আমি ঠিক একই ত্রুটি পেয়েছিলাম এবং তারপরে আমি এটির সাথে সফলতার সাথে চালাচ্ছি sudo

sudo systemctl status ssh

1
আপনার এটির দরকার নেই sudo। কাকতালীয় মনে হচ্ছে। আপনি কি আবার পরীক্ষা করতে পারেন?
Zanna

1
@ জান্নাsaif@sr-server:~$ systemctl status ssh Failed to connect to bus: No such file or directory saif@sr-server:~$ sudo systemctl status ssh [sudo] password for saif: ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-01-19 23:38:14 PKT; 4min 4s ago Main PID: 18222 (sshd) Tasks: 15 Memory: 32.7M CPU: 488ms
সাইফ

কেন -1? আমার জন্য কী কাজ করেছে আমি কেবল পোস্ট করেছি।
সাইফ

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