আপনি কি নতুন উইন্ডোজ 10 (উবুন্টু) ব্যাশ ইউজারস্পেসে স্থানীয়ভাবে ডকার চালাতে পারবেন?


126

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

সম্প্রতি মাইক্রোসফ্ট উইন্ডোজ ১০ এ নেটিভভাবে চলমান উবুন্টু লিনাক্স ব্যবহারকারী মোডের বিটা ঘোষণা করেছে এটি উইন্ডোজে ইএলএফ ফর্ম্যাটে সংকলিত বাইনারিগুলি চালাতে পারে (সাইগউইনের বিপরীতে যার একটি সংকলন প্রয়োজন))

আমার প্রশ্নটি: আপনি কি নতুন উইন্ডোজ 10 (উবুন্টু) বাশ ইউজারস্পেসে স্থানীয়ভাবে ডকার চালাতে পারবেন?


4
এটি কোনও " bashইউজার স্পেস " নয় । এটি একটি আসল, মোটামুটি সম্পূর্ণ লিনাক্স ইউজারস্পেস, তবে এক্স উইন্ডোজ ছাড়া কেবল পাঠ্য নয়। "বাশ" বলতে পাঠ্য-সীমাবদ্ধতাটি বেশ ভালভাবে যোগাযোগ করে ..
এমসাল্টারস

আমি কি কিছু রেখে গেলাম? এটি কি আসলে বিতরণ করা হয়েছিল? এই মুহুর্তে আমি এটি কেবল বাষ্পওয়্যার হিসাবে জানি।
মাইকেল হ্যাম্পটন

2
আমি মনে করি তারা এটিকে মুক্তি না দেওয়া পর্যন্ত এটি পরিষ্কার হবে না (এএফআইএকি এটি এখনও উইন্ডোজ অভ্যন্তরীণদের কাছে পাওয়া যায়নি) তবে এটি লক্ষণীয় যে মাইক্রোসফ্ট এবং ডকার উইন্ডোজে
ডকারকে নেটিভালি

1
@ রেরিম্যাকচুন: আকর্ষণীয়। যাইহোক, আগস্ট ২০১৫ থেকে এই ডকার ব্লগ এন্ট্রি অনুসারে , এটি এমন একটি পোর্ট হবে যা ডকারকে উইন্ডোজে উইন্ডোজ চিত্রগুলি উইন্ডোজে লিনাক্স চিত্রগুলি চালানোর অনুমতি দেয় ।
স্ল্যাসকে

2
আসলেই উইন্ডোজ নেটিভ ডকারের উদ্দেশ্য। কন্টেইনারাইজেশনের প্রকৃতি হ'ল কিছু ভার্চুয়ালাইজেশন যোগ না করে বা (সম্ভবত) মাইক্রোসফ্ট যে নতুন এই সাবসিস্টেমটি বিকাশ করছে সেগুলি ছাড়াই আপনি অন্যান্য কার্নেলের সাথে সিস্টেমগুলি পরিচালনা করতে পারবেন না
রেরি ম্যাককুন

উত্তর:


103

আপনি ইঞ্জিন হিসাবে উইন্ডোজের জন্য ডকার ডেস্কটপ এবং উইন্ডোতে উবুন্টু / ডেবিয়ানের ডাব্লুএসএল-তে ক্লায়েন্ট হিসাবে লিনাক্সের জন্য ডকার ডেস্কটপ ব্যবহার করতে পারেন। এগুলি টিসিপি এর মাধ্যমে সংযুক্ত করুন।

উইন্ডোজের জন্য ডকার ডেস্কটপ ইনস্টল করুন: https://hub.docker.com/editions/commune/docker-ce-desktop-windows আপনি যদি লিনাক্স কনটেইনারগুলির পরিবর্তে উইন্ডোজ কনটেইনার ব্যবহার করতে চান তবে উভয় ধরণের পাত্রে লিনাক্স ডকার ক্লায়েন্ট দ্বারা পরিচালনা করতে পারবেন ব্যাশ ইউজারস্পেস।

সংস্করণ 17.03.1-ce-win12 (12058) যেহেতু আপনাকে লিনাক্স ডকার ক্লায়েন্টকে টিসিপি দ্বারা উইন্ডোজ ডকার ডিমনটির সাথে যোগাযোগ চালিয়ে যাওয়ার অনুমতি দেওয়ার জন্য টিসিপি: // লোকালহস্ত : 2375 তে এক্সপোজ ডেমনটি পরীক্ষা করতে হবে

এই পদক্ষেপগুলি অনুসরণ করুন:

cd
wget https://download.docker.com/linux/static/stable/`uname -m`/docker-19.03.1.tgz
tar -xzvf docker-*.tgz
cd docker
./docker -H tcp://0.0.0.0:2375 ps

অথবা

env DOCKER_HOST=tcp://0.0.0.0:2375 ./docker ps

এটি স্থায়ী করতে:

mkdir ~/bin
mv ~/docker/docker ~/bin

.Bashrc এ সম্পর্কিত ভেরিয়েবল যুক্ত করুন

export DOCKER_HOST=tcp://0.0.0.0:2375
export PATH=$PATH:~/bin

অবশ্যই, আপনি ডকার-রচনাটি ইনস্টল করতে পারেন

sudo -i
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

বা পাইথন পিপ ব্যবহার করে

sudo apt-get install python-pip bash-completion
sudo pip install docker-compose

এবং বাশ সম্পূর্ণ। প্রধান অংশ:

sudo -i
apt-get install bash-completion
curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker > /etc/bash_completion.d/docker
curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

আমি হাইপার-ভি ব্যবহার করে ডকার ডেস্কটপের ২.১.০.১ (৩ 37১৯)) সংস্করণ ব্যবহার করে এটি পরীক্ষা করেছি:

$ docker version
Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89e8a
 Built:             Thu Jul 25 21:17:37 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       74b1e89
  Built:            Thu Jul 25 21:17:52 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
Look both client and server say **OS/Arch: linux/amd64**

খন্ড

ভলিউম যুক্ত করার সময় যত্ন নিন। ডাব্লুএসএল এবং ডকার ইঞ্জিন দ্বারা পথটি C:\dirদৃশ্যমান হবে । আপনি এটি স্থায়ীভাবে কাটিয়ে উঠতে পারেন:/mnt/c/dir/c/dir/

sudo bash -c "echo -e '[automount] \nroot = /'>/etc/wsl.conf"

আপনার ডাব্লুএসএলকে wsl.conf এ পরিবর্তন করার পরে ডাব্লুএসএলকে অবশ্যই প্রস্থান করতে হবে এবং পুনরায় লোড করতে হবে যাতে ডাব্লুএসএল প্রবর্তনের সময় আপনার পরিবর্তনগুলি পড়তে পারে।

হালনাগাদ

থেকে: উইন্ডোজ 10 সংস্করণ 1803 এ কমান্ড লাইনের জন্য নতুন What's

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

হালনাগাদ

এই স্ক্রিপ্ট এবং ইউনিক্স সকেটগুলির ব্যবহার পেনগউইনের পেগউইন-সেটআপে অন্তর্ভুক্ত ছিল ।

শুভেচ্ছা সহ


3
হ্যালো @ জোয়েল-পিয়ারসন, ডকারের দুটি অংশ রয়েছে: ইঞ্জিন এবং ক্লায়েন্ট। ইঞ্জিনটি ডকার টুলবক্স (ভার্চুয়ালবক্স ভিত্তিক) বা উইন্ডোজের জন্য ডকার (হাইপার-ভি ভিত্তিক) ব্যবহার করে উইন্ডোজগুলিতে চালিত হয় যা উভয়ই ডকার দল দ্বারা সমর্থিত। ডকার ইঞ্জিন ব্যাশ ব্যবহারকারী স্থানে চালিত হয় না। উইন্ডোতে ডকার ক্লায়েন্টটি সেমিডি, পাওয়ারশেল বা সাইগউইনে চালানো যেতে পারে। এই উত্তরটি যা বলে তা হ'ল বাশ ইউজারস্পেসে ডকার ক্লায়েন্ট চালানোর উপায়। কেন? ব্যক্তিগতভাবে আমি বাশ পছন্দ করি, সমাপ্তি কাজ করে। আমি সম্মত হই যে প্রশ্নটি ডকার ইঞ্জিন সম্পর্কিত, তবে আমি যখন ক্লায়েন্টটির সন্ধান করছিলাম তখন এটি পেয়েছিলাম এবং অনেক লোক একই কাজ করে।
কার্লোস রাফায়েল রামিরেজ

1
আমি এটি পরীক্ষা করেছি এবং এটি আমার জন্য 1.12-এ কাজ করে :) এখন উইন্ডোজগুলিতে কিছু গুরুতর বিকাশ করতে সক্ষম হওয়ায় অতি উত্তেজিত।
জাচ রাসেল

2
উইন্ডোতে উবুন্টু-তে বাশ-এ আপনার নির্দেশাবলীর চেষ্টা করেছিলেন, "" ডকার ডিমনের সাথে সংযোগ স্থাপন করা যায় না the এই হোস্টটিতে কি ডকার ডিমন চলছে? " আপনি কিছু পদক্ষেপ মিস করছেন?
এমপেন

5
ফেব্রুয়ারী 2017 পর্যন্ত, এটি এখনও একমাত্র উপায়।
hdave

3
জুন 2017 এর পরে, আপনি ব্যাশ শেল থেকে উইন্ডোজ এক্সিকিউটেবলের জন্য ডকার চালাতে পারেন । ডকার ক্লায়েন্ট ইনস্টল করার পরিবর্তে আপনি docker.exeডকার সাবসিস্টেমটিকে জিজ্ঞাসা / ইন্টারঅ্যাক্ট করতে সরাসরি ব্যবহার করতে পারেন । তবে নোট করুন যে উইন্ডোজের জন্য ডকার উইন্ডোজ ভেরিয়েবল এবং কনফিগারেশন ব্যবহার করবে।
জেইমি

51

এখনই (এপ্রিল 2016) উত্তরটি হ'ল:

আমরা এখনও জানি না (তবে সম্ভবত জানি না)।

ঘটনা

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

জল্পনা

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

যাইহোক, উভয়ভাবেই কোনও নির্দিষ্ট তথ্য নেই, যতদূর আমি বলতে পারি I

বিদ্যমান ডকার পোর্ট

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

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

1
আপডেট: এমএসডিএন ব্লগে এখন এই বিষয়ে একটি নিবন্ধ রয়েছে: লিনাক্স ওভারভিউয়ের জন্য উইন্ডোজ সাবসিস্টেম
স্লেসকে

: আজ পর্যন্ত এটা Hyper-V এর সঙ্গে সম্ভব tutorials.ubuntu.com/tutorial/...
নিক Sweeting

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

13

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

সুতরাং এটি প্রদর্শিত হবে, প্রথম প্রাকদর্শন জন্য এটি বর্তমানে কাজ করে না। তবে অনেকে যেমন অনুমান করেছেন, এটি ভবিষ্যতে প্রকাশে কার্যকর হতে পারে।


5
আসলে এটি চেষ্টা করার জন্য ভাল ধারণা। একটি জিনিস: আপনি দয়া করে স্ক্রিনশটের পাঠ্যটিকে প্রকৃত পাঠ্য হিসাবে যুক্ত করতে পারেন (উবুন্টু টার্মিনালটি অনুলিপি এবং পেস্ট সমর্থন করে)। "রিয়েল" পাঠ্যের অসংখ্য সুবিধা রয়েছে (পড়া সহজ, স্ক্রিন পাঠকদের সমর্থন করে, সার্চ ইঞ্জিনগুলি দ্বারা
ক্রলযোগ্য

কিছু আপডেট: আমি আমার মেশিনে চূড়ান্ত বার্ষিকী আপডেট চালিয়ে পুরোপুরি ডকার ইনস্টল করতে সক্ষম হয়েছি। তবে এতে docker psব্যর্থ হচ্ছে:Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: setsockopt: invalid argument. Are you trying to connect to a TLS-enabled daemon without TLS?
কুমারহর্ষ

দেখে মনে হচ্ছে এটা এখন কাজ করে: tutorials.ubuntu.com/tutorial/...
নিক Sweeting

13

না, এটি সম্ভব নয়।

পাত্রে চালানোর জন্য ডকারকে একাধিক জিনিস প্রয়োজন:

  • chroot
  • নামকরণের জন্য:
    • PID,
    • ব্যবহারকারীরা
    • অন্তর্জাল
    • মাউন্ট
    • ইউনিয়ন টেরিটোরির
    • আইপিসি

এগুলি লিনাক্সে প্রয়োগ করা সমস্ত কার্নেল বৈশিষ্ট্য। দুর্ভাগ্যক্রমে, তাদের বেশিরভাগের প্রতিস্থাপন হিসাবে ব্যবহার করার জন্য উইন্ডোজের অনুরূপ বৈশিষ্ট্য নেই (মাইক্রোসফ্ট উইন্ডোজ কার্নেলে প্রয়োগ করা লিনাক্স সাবসিস্টেমগুলিতেও নয়)। এই সমস্তগুলি ওএস দ্বারা সরবরাহ করা প্রয়োজন।


4
আসলে, উইন্ডোজের ব্যবহারকারী, মাউন্টস এবং আইপিসির জন্য নেমস্পেস রয়েছে। অ্যাক্টিভ ডিরেক্টরিগুলির জন্য ব্যবহারকারীর নেমস্পেসগুলির প্রয়োজন, মাল্টি-ইউজার ক্রিয়াকলাপের জন্য মাউন্ট নেমস্পেস এবং আইপিসির নামস্থান প্রয়োজন। মৌলিকভাবে, উইন্ডোজের কার্নেল অবজেক্ট ম্যানেজারের সর্বদা প্রথম উইন্ডোজ এনটি রিলিজ থেকে নেমস্পেস থাকে so
এমসাল্টারস 14

3
এবং রিমোট ডেস্কটপ পরিষেবাদির সাহায্যে সেশন অবজেক্টগুলি সুনির্দিষ্টভাবে এই নেমস্পেসগুলি সমবর্তী ক্রিয়াকলাপ সরবরাহ করতে ব্যবহার করে। এর অর্থ এই নয় যে আপনার সমস্ত প্রয়োজনীয় অবকাঠামো রয়েছে, তবে প্রধান অংশগুলি সেখানে রয়েছে। হিসাবে হিসাবে chroot, উবুন্টু পরিবেশ WIN32 পরিবেশের চেয়ে ইতিমধ্যে একটি পৃথক রুট আছে বুঝতে।
এমসাল্টারস 14

6
আসলে, আমি মনে করি এটির কোনও উত্তর দেওয়া খুব তাড়াতাড়ি। স্কট হ্যানসেলম্যানের একটি মন্তব্যে বর্ণিত হিসাবে , উইন্ডোজ 10 কার্নেল এখন লিনাক্স সিস্কলগুলি গ্রহণ করে। সুতরাং প্রশ্নটি হ'ল যে ডকারের যে ক্রিয়াকলাপগুলির প্রয়োজন (ক্রুট এবং নেমস্পেসের জন্য) তা প্রয়োগ করা হয়েছিল কি না। উত্তর সম্ভবত "না" থাকাকালীন, উভয়ভাবেই কোনও নির্দিষ্ট তথ্য নেই, যতদূর আমি বলতে পারি।
স্লেসকে

1
@ সালস্কে ঠিক আছে, এই প্রশ্নটি এই মুহুর্তে জবাবদিহি নয় এবং বিধবাদের লিনাক্স স্পেসে কাজ করা ডেভসরা কী করণীয় তার কোনও সঠিক ইঙ্গিত ছাড়াই "না তা পারে না" বলাটা বেশ মর্যাদার বিষয়।
রায়ান 17

2
আমি এই উত্তরটি পুরোপুরি ভুল বলে আত্মবিশ্বাসের সাথে বলতে যথেষ্ট জানিনা, তবে এটি যেভাবে বর্ণিত হয়েছে তা আমাকে এর বৈধতা সম্পর্কে কিছুটা সংশয়যুক্ত করে তুলেছে। বিশেষত উল্লেখ করে "বাশ একটি সাধারণ ব্যবহারকারীর স্পেস প্রোগ্রাম এবং এগুলির কোনও সরবরাহ করতে পারে না" এবং লিনাক্সের জন্য উইন্ডো সাবসিস্টেমকে "নতুন বাশ বৈশিষ্ট্য" হিসাবে উল্লেখ করা এটিকে উত্তর হিসাবে পুরোপুরি মিথ্যা অনুমানের উপর ভিত্তি করে তৈরি করে যা সমস্ত মাইক্রোসফ্ট করেছে উইন্ডোজ পোর্ট বাশ ছিল। যা ঘটেছিল তা নয়। তারা উইন্ডোজ কার্নেলের উপরে চলমান একটি সম্পূর্ণ লিনাক্স কার্নেল ইন্টারফেস বিকাশ করেছে: এমএসডিএন.ইমক্রোসফটকম
en

7

ক্রিয়েটর আপডেট হিসাবে (13 ই জুন, 2017 এ প্রকাশ্যে প্রকাশিত) আপনি ডাব্লুএসএলে সরাসরি উইন্ডোজ এক্সিকিউটেবল চালাতে পারেন। এর অর্থ আপনি যদি ইতিমধ্যে উইন্ডোজের জন্য ডকার ইনস্টল করেন তবে আপনি কেবল এর dockerঅধীনে ইনস্টল করা বাইনারিগুলি প্রার্থনা করতে পারেন C:\Program Files। যেহেতু .exeএগুলির সহজ বিকল্পটি শেষ হয় তা হ'ল এলিয়াস তৈরি করা। নিম্নলিখিত কাজগুলির মতো আপনার .bashrcকাজ করা উচিত:

DOCKER_BIN='/mnt/c/Program Files/Docker/Docker/resources/bin'
for f in "$DOCKER_BIN"/*; do
  alias "$(basename "$f" | sed 's/.exe$//')"'="'"$f"'"'
done

এটি DOCKER_BINডিরেক্টরিতে সমস্ত ফাইলের জন্য উপকরণ তৈরি করে :

$ type docker
docker is aliased to `"/mnt/c/Program Files/Docker/Docker/resources/bin/docker.exe"'

$ docker --version
Docker version 17.03.1-ce, build c6d412e

একটি সতর্কতা: আপনি যদি কোনও লিনাক্স ডিরেক্টরি থেকে চালিত হন তবে " বর্তমান ওয়ার্কিং ডিরেক্টরিটি অনুবাদ করতে অক্ষম " এর মতো একটি ত্রুটি বার্তা পাবেন । কেবল cdএকটি উইন্ডোজ ডিরেক্টরিতে (যেমন /mnt/c/Users/YourUsername) এবং আপনার ভাল হওয়া উচিত।


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

1
আপনি যে উইন্ডোজ dockerবাইনারি চালু করছেন এবং লিনাক্স শেলটি দিয়ে তা করছেন তা বোঝা যায়। আমি এটি নিশ্চিত না যে এটি সম্পাদন করার জন্য কোনও ভাল উপায় আছে কিনা।
ডিমো 414

6

একবার ডকার 1.12 প্রকাশিত হয়ে গেলে এবং লিনাক্স ডকার ক্লায়েন্ট পৃথক হয়ে গেলে আপনার উইন্ডোজ 10 ব্যাশে ডকার ক্লায়েন্ট চালানো উচিত ।

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


4

উইন্ডোজ 10 সংস্করণ 1607 বিল্ড 1493.10 এ আপনি সফলভাবে এটি উবুন্টু বাশে ইনস্টল করতে পারেন, তবে এটি কার্যকর হয় না :(

একটি সাধারণ "ডকার সংস্করণ" আপনাকে বলবে:

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.18/version: dial unix /var/run/docker.sock: setsockopt: invalid argument. Are you trying to connect to a TLS-enabled daemon without TLS?

তারপরে আপনি যদি "sudo docker -d" চালনা করেন তবে নীচের ত্রুটিটি পাবেন:

FATA[0000] ERROR: You are running Linux kernel version 3.4.0+, which is unsupported for running Docker. Please upgrade your kernel to 3.8+.

সুতরাং এটি অবশ্যই বাশ দিক থেকে একটি স্টপার।

তবুও, আপনি উইন্ডোজের জন্য ডকার ইনস্টল করতে পারেন এবং এটি একটি কবজির মতো কাজ করে, আপনি অবশ্যই লিনাক্স সার্ভার এবং আপনার প্রয়োজনীয় সমস্ত কিছু স্থাপন করতে পারেন।

> docker version
Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

3

২০১ September সালের সেপ্টেম্বর পর্যন্ত, না

উইন্ডোজে ডকারের সমস্ত বর্তমান বাস্তবায়ন ভার্চুয়ালাইজেশন ব্যবহার করে, ডকার 1.12 ভার্চুয়ালাইজেশনে কনটেইনারাইজেশনের সুবিধা অপসারণ করে উইন্ডোজ -থাসে একটি হাইপারভাইজার ব্যবহার করে।

ডকারের জন্য কেবল লিনাক্স সিস্টেম কল ব্যবহারের চেয়ে বেশি প্রয়োজন।

এটির জন্য প্রসেস কন্ট্রোল গ্রুপ (সিগ্রুপস), একটি স্ট্যাকেবল ফাইল সিস্টেম (এফস), কার্নেলের বাইরে অন্যান্য লিনাক্স-ভিত্তিক সিস্টেমগুলি দরকার।

উইন্ডোজ 10 কার্নেলের মধ্যে সিগ্রুপ বা আউফ উভয়ই স্থানীয়ভাবে নেই।

উইন্ডোজ সার্ভার 2016 এর এখানে একটি বাস্তবায়ন রয়েছে: https://msdn.microsoft.com/en-gb/virtualization/windowscontainers/quick_start/quick_start_windows_server .. তবে এটি কেবল কিছু উইন্ডোজ পরিষেবা চালাবে, যেমন আইআইএস, এবং উবুন্টু নয়


2

আপনি বর্তমানে এটি ইনস্টল করতে পারবেন তা ধরে নিয়ে ডকার বর্তমানে বর্তমান বিল্ডে (14316) কাজ করে না।

root@localhost:~# docker --help
runtime: address space conflict: map(0x7ff5ddbb0000) = 0x7ff5ffd20000
fatal error: runtime: address space conflict

অসাধারণ! চেষ্টা করে দেখুন
হক্কে

দেখে মনে হচ্ছে এটি গোলংয়ে মেমরির বরাদ্দ কীভাবে কাজ করে (যা ডকার লিখিত আছে) এর সাথে সম্পর্কিত হতে পারে: গ্রুপ. google.google.com/forum/#!msg/golang-dev/EPUlHQXWykg/…
তীমথিয় মেইড

খনি কেবল কমান্ডের পরে চিরতরে স্তব্ধ হয়ে যায়।
wieczorek1990

1

থেকে: https://blog.docker.com/2016/07/docker-for-mac-and-windows-pr Prod-- چمتو/

Faster and more reliable – native development environment using
hypervisors built into each operating system. (No more VirtualBox!)

2
এটি আপনি এখন বাশনে লিনাক্সের জন্য ডকার ক্লায়েন্ট চালাতে পারেন, এই কারণে এটি পরিপূরক, আপনি যদি ব্যবহার না করেন তবে পাওয়ারশেল ব্যবহার এড়িয়ে চলেন
কার্লোস রাফায়েল রামিরেজ

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