কীভাবে ডকারের ধারক থেকে ক্রোমিয়াম চালাবেন


9

পরিবেশ

  • ম্যাকস সিয়েরা 10.12.6
  • ডকার সংস্করণ 17.09.0-ce, বিল্ড afdb6d4
  • উবুন্টু 16.04
  • এক্সকিয়ার্টজ ২.7.৯

আমি আমার ম্যাক ডেস্কটপে একটি ডকার ধারক থেকে ক্রোমিয়াম ব্রাউজার খুলতে চাই।

docker run -i -t ubuntu:16.04 /bin/bash
apt-get update
apt-get install alsa-base chromium-browser xauth
adduser myuser

সমর্পণ করা

docker commit 2862a7bfcc2f  acme/mycontainer:0.1

myuserকন্টেইনার ব্যর্থ হিসাবে ক্রোমিয়াম ব্রাউজার চালানো

docker run --user myuser -i -t acme/mycontainer:0.1 /usr/bin/chromium-browser
Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted

আমি বাজি ধরছি এটিতে আরও কিছু আছে

কোন পয়েন্টার?

UDPATE - ব্যবহার করে --privileged

ত্রুটিটি সরায় সার্ভারফল্টে থ্রেড দেখুন তবে ইউআই প্রদর্শিত হবে না

docker run \
       --privileged \
       --user mysuer \
       -i -t acme/mycontainer:0.1 /usr/bin/chromium-browser

এবং এটি

docker run \
   --privileged \
   --net host \
   -v /tmp/.X11-unix:/tmp/.X11-unix \
   -e DISPLAY=$DISPLAY \
   -e XAUTHORITY=/.Xauthority \
   -v ~/.Xauthority:/.Xauthority:ro \
   --name chromium \
   --user mysuser \
   -i -t acme/mycontainer:0.1 /usr/bin/chromium-browser

ক্রোমিয়াম প্রদর্শিত হয় না

আপডেট করুন 20171011

docker run \
   --privileged \
   --net host \
   -v /tmp/.X11-unix \
   -e DISPLAY \
   --name chromium \
   --user myuser \
   -i -t acme/mycontainer:0.1 \
   bash

ক্রোমিয়াম Gtk: cannot open display: [...] org.macosforge.xquartz:0 ত্রুটি শুরু হচ্ছে

$ chromium-browser --verbose
[37:37:1011/154632.348303:VERBOSE1:breakpad_linux.cc(1978)] Breakpad disabled
[1:1:1011/154632.378280:VERBOSE1:zygote_main_linux.cc(537)] ZygoteMain: initializing 0 fork delegates
[1:1:1011/154632.378653:INFO:cpu_info.cc(50)] Available number of cores: 4
[37:37:1011/154632.381303:WARNING:browser_main_loop.cc(275)] Gtk: cannot open display: \
      /private/tmp/com.apple.launchd.Y2wR3QWw57/org.macosforge.xquartz:0

আমার ম্যাক সম্পাদিত sshd_config

sudo vim /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
XAuthLocation /opt/X11/bin/xauth

আমার ম্যাক এ DISPLAY

$ env | grep DISPLAY
DISPLAY=/private/tmp/com.apple.launchd.Y2wR3QWw57/org.macosforge.xquartz:0

ডিস্কে

ls -al /private/tmp/com.apple.launchd.gCYQToI4lb/*
srw-rw-rw-  1 joel  wheel     0B Oct 11 17:50 
/private/tmp/com.apple.launchd.gCYQToI4lb/org.macosforge.xquartz:0=

1
আপনি কি এই সাথে কোথাও পেয়েছেন?
দামিয়ান পাওয়েল

উত্তর:


2

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


প্রশ্ন upvote মনে রাখবেন। অন্য কেউ সাহায্য করতে সক্ষম হতে পারে দেখুন। আমি আপনার পয়েন্টার সাবউসারটি পছন্দ করি। এটি আকর্ষণীয়
abাবম্বা

subuserআমি যে "কিউবেস ওএস লাইট" খুঁজছিলাম তা হতে পারে! ধন্যবাদ!
ডেভ

1

আমার কাছে পরীক্ষা করার জন্য কোনও ম্যাক নেই, তবে এখানে কয়েকটি সাধারণ পরামর্শ রয়েছে:

এক্স 11 সাধারণত একটি কী ফাইলের সাহায্যে সুরক্ষিত থাকে যা কেবলমাত্র সেই ডিসপ্লেটির মালিক ব্যবহারকারীই পড়তে পারে, এইভাবে ফাইল সিস্টেমের অনুমতি ব্যবহার করে এই ফাইলটি পড়তে পারে এমন অন্যান্য প্রোগ্রামই সংযোগ করতে সক্ষম বলে দাবি করে। ক্লায়েন্টরা সেই ফাইলটি পড়েন এবং তারপরে সকেটের মাধ্যমে সার্ভারে এর সামগ্রীগুলি পুনরাবৃত্তি করে। সুতরাং, আমি মনে করি আপনি সঠিক পথে ছিলেন

-e XAUTHORITY=/.Xauthority \
-v ~/.Xauthority:/.Xauthority:ro \

এরপরে, আপনি এসএসএইচ এক্স 11 ফরোয়ার্ডিং সেটিংস দেখান তবে কোনও চিহ্ন নেই যে আপনি ডকারের ধারকটিতে প্রবেশ করেছেন। এসএসএইচ ফরওয়ার্ডিং সাধারণত:

ssh $HOST -X program-which-launches-gui

এটি করার জন্য আপনাকে ডকার পাত্রে একটি এসএসএইচ সার্ভার চালানো দরকার যা কিছুটা চেষ্টা করে ...

এরপরে, আপনি এমন একটি প্রদর্শন করুন DISPLAY=/path/to/socketযা আমি আগে ব্যবহার করি নি। এটি যদি কোনও ম্যাকওএস আবিষ্কার হয় তবে ডকারাইজড উবুন্টু সেই ফর্ম্যাটটি বুঝতে না পারে।

অবশেষে, আপনি দেখতে পাবেন যে ক্রোম ডকারের ধারক থেকে 'স্ট্রেস' কমান্ডটি ব্যবহার করে আসলে কী করার চেষ্টা করছে।

strace chromium-browser 2>&1 | egrep "open|stat|connect|bind"

এটি আপনাকে কোনও নির্দিষ্ট ক্রিয়াকলাপগুলি ঠিক শেষ হওয়ার আগেই ব্যর্থ করে দেয়।


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