ডকার সহ ওএস এক্সে বিকাশের পরিবেশ স্থাপনের সঠিক উপায় কী?


94

ভূমিকা

আমি ডকার এবং বুট 2 ডকার ব্যবহার করে ওএস এক্সে বিকাশের পরিবেশ স্থাপনের কোনও ভাল উপায় খুঁজে পাচ্ছি না। আমি যে সমস্যাটি আঘাত করছি তা হ'ল উত্স কোডটি কীভাবে পরিচালনা করা যায় তা:

  1. আমি ইতোমধ্যে ইনস্টল থাকা সরঞ্জামগুলি (পাঠ্য সম্পাদক, আইডিই, গিট ইত্যাদি) ব্যবহার করে ওএস এক্সের কোডটি সংশোধন করতে পারি।
  2. এই পরিবর্তনগুলি ডকারের পাত্রে প্রতিবিম্বিত হয় তাই যদি আমি পরীক্ষাগুলি পুনরায় চালনা করি বা কোনও ওয়েবপৃষ্ঠাকে রিফ্রেশ করি তবে আমি আমার পরিবর্তনগুলি তত্ক্ষণাত্ দেখতে পাব।

তত্ত্বগতভাবে, আমার উত্স কোডটি ভলিউম হিসাবে মাউন্ট করে এটি করা সহজ হওয়া উচিত:

docker run -it -v /path/to/my/source/code:/src some-docker-image

দুর্ভাগ্যক্রমে, এর দুটি বড় সমস্যা রয়েছে যা এটি ওএস এক্সে সম্পূর্ণ অপ্রয়োজনীয় করে তোলে:

সমস্যা # 1: ভার্চুয়ালবক্সে মাউন্ট করা ভলিউম (যা vboxsf ব্যবহার করে) অত্যন্ত ধীর

উদাহরণস্বরূপ, উত্স কোডটি ডকার চিত্রের অংশ হলে জিকিল আমার হোমপেজটি সংকলন করতে কত সময় নেয় :

> docker run -it brikis98/yevgeniy-brikman-homepage:v1 bash

root@7aaea30d98a1:/src# time bundle exec jekyll build

[...]

real    0m7.879s
user    0m7.360s
sys     0m0.600s

এখানে ঠিক একই ডকার চিত্রটি দেওয়া হয়েছে, এবার ব্যতীত আমি ওএস এক্স থেকে উত্স কোডটি মাউন্ট করব:

> docker run -it -v $(pwd):/src brikis98/yevgeniy-brikman-homepage:v1 bash

root@1521b0b4ce6a:/src# time bundle exec jekyll build

[...]

real    1m14.701s
user    0m9.450s
sys     0m3.410s

সমস্যা # 2: ফাইল পর্যবেক্ষণটি নষ্ট হয়েছে

এসবিটি, জ্যাকিল এবং গ্রান্ট ব্যবহারের মতো প্রযুক্তি যেমন ইনোটাইফাইয়ের ডিফল্ট ঘড়ির ব্যবস্থা, যা ডকার পাত্রে চালিত থাকলে কাজ করে না এবং ওএস এক্সে মাউন্ট করা ফোল্ডারে পরিবর্তন করা হয়।

আমি চেষ্টা করেছি

আমি সমাধানগুলি অনুসন্ধান করেছি (এসও-তে থাকা সমস্তগুলি সহ) এবং এর মধ্যে কয়েকটি চেষ্টা করেছিলাম, তবে সফল কোনও পাইনি:

  1. আমি এনএফএস ব্যবহার করতে বুট 2 ডকার পরিবর্তন করেছি , তবে এটি ঠিক ধীর ছিল।
  2. আমি ভ্যাগ্র্যান্ট + এনএফএস চেষ্টা করেছি এবং এটিও ঠিক ধীর ছিল।
  3. আমি সাম্বা মাউন্ট চেষ্টা করেছিলাম , তবে ফোল্ডারটি সর্বদা ডকার পাত্রে খালি দেখায়।
  4. আমি ইউনিসন ফাইল সিস্টেমটি ব্যবহার করার চেষ্টা করেছি , যা ফাইলগুলি সিঙ্ক করতে সংক্ষেপে কাজ করেছে, তবে সংযোগের ত্রুটিগুলি দেখিয়ে চলেছে ।
  5. আমি জ্যাকিলে পোলিং সক্ষম করেছিলাম , তবে আমার পরিবর্তনগুলি না নেওয়া পর্যন্ত এটি বিলম্বকে উল্লেখযোগ্যভাবে বাড়িয়েছে।
  6. আমি ডিঙ্গিকে , একটি "দ্রুত, বন্ধুবান্ধব ডকার ওএস এক্স উইথ ভ্যাগ্র্যান্ট" দিয়ে চেষ্টা করেছি এবং কিছুটা উন্নতি পেয়েছি । জেকিল সংকলনটি 10-15x ধীর হওয়ার পরিবর্তে এটি 2-3x ধীর ছিল। এটি আরও ভাল, তবে এখনও যথেষ্ট ব্যবহারযোগ্য নয়।

কেউ কি এমন কোনও সমাধান খুঁজে পেয়েছেন যা প্রকৃতপক্ষে কাজ করে এবং আপনাকে ডকার এবং ওএস এক্স এর সাথে উত্পাদনশীলভাবে কোড বিকাশ করতে দেয়?

আপডেট: শেষ পর্যন্ত একটি সমাধান!

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


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

@ জেমসমিলস: আমি ডকার এবং বুট 2 ডকার ইনস্টল করার সরকারী নির্দেশাবলী অনুসরণ করেছি followed এনএফএস স্থাপনের জন্য কি অফিসিয়াল নির্দেশনা রয়েছে? আমি এগুলিকে কেবল একটি গিটহব গিস্টে পেয়েছি এবং সেগুলি ব্যবহারের পরে, এটির দ্রুত বলে মনে হয় নি। আপনি কীভাবে এনএফএস সেটআপ করলেন?
ইয়েজেগেনি ব্রিকম্যান


6
ডকারের সাথে কাজ করার সঠিক উপায় হ'ল ওএস এক্সের পরিবর্তে স্থানীয়ভাবে লিনাক্স চালানো বা আপনার সমস্ত বিকাশ কাজ লিনাক্স ভিএম এর ভিতরে করা। "বুট 2 ডকার" ইন্টিগ্রেশন হ'ল একটি কুরুচিপূর্ণ হ্যাক যা বিভ্রান্তি এবং হতাশার বপন ছাড়া কিছুই করে না।
লারস্ক করুন

7
@ অ্যালার্কস: এটি সহায়ক নয়।
ইয়েজেনি ব্রিকম্যান 7:14

উত্তর:


46

আমি এখনও অবধি খুঁজে পাওয়া সেরা সমাধানের সাথে আমার নিজের উত্তর যুক্ত করার সিদ্ধান্ত নিয়েছি। আমি আরও ভাল বিকল্প খুঁজে পেলে আমি এটি আপডেট করব।

এখন পর্যন্ত সেরা সমাধান

ওএস এক্সে ডকারের সাথে উত্পাদনশীল বিকাশের পরিবেশ স্থাপনের জন্য আমি যে সেরা সমাধানটি পেয়েছি তা হ'ল: বুট 2 ডকার + রাইকিএনসি । আরএসআইএনসি সহ, ডকারের পাত্রে বিল্ড টাইমগুলি সরাসরি ওএসএক্সে বিল্ড চালানোর সমতুল্য! তাছাড়া, ফাইল প্রহরী কোড নেই না পোলিং (প্রয়োজন inotifyrsync ব্যবহারসমূহ স্বাভাবিক ফোল্ডার থেকে কাজ), তাই গরম রিলোড হয় প্রায় হিসাবে দ্রুত।

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

স্বয়ংক্রিয় ইনস্টল

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

ম্যানুয়াল সেটআপ

  1. ইনস্টল করুন Boot2Docker : brew install boot2docker
  2. রান Boot2Docker কিন্তু VirtualBox সহ ফোল্ডারের অক্ষম ভাগ করেছে: boot2docker init && boot2docker start --vbox-share=disable
  3. boot2docker shellinitআপনার ~/.bash_profileফাইলের মধ্যে প্রিন্ট করে এমন পরিবেশের ভেরিয়েবলগুলি চালনা করুন এবং অনুলিপি করুন।
  4. Boot2Docker VM- র উপর rsync ইনস্টল করুন: boot2docker ssh "tce-load -wi rsync"
  5. বুট 2 ডকার ভিএম এ আপনার প্রয়োজনীয় বেস ফোল্ডারগুলি তৈরি করুন এবং তাদের জন্য সঠিকভাবে অনুমতি সেট করুন। উদাহরণস্বরূপ, যদি আপনি সিঙ্কিং করা হবে যদি /foo/barOS X এর থেকে ফোল্ডারের, আপনি তৈরি করতে হবে /foo/barBoot2Docker VM- র উপর: boot2docker ssh "mkdir -p /foo/bar && chown -R docker /foo/bar"
  6. Boot2Docker VM- র ফাইল সিঙ্ক করার জন্য rsync চালান: rsync --archive --rsh="ssh -i $HOME/.ssh/id_boot2docker -o StrictHostKeyChecking=no" /foo/bar docker@dockerhost:/foo। আপনি সক্ষম করতে পারেন এমন বিভিন্ন সেটিংসের জন্য আরএসসিএন ডক্স পরীক্ষা করুন, যেমন সিঙ্ক করার সময় ফোল্ডারটি --exclude .gitবাদ দিতে using.git
  7. ফাইলগুলি সিঙ্কে রাখার জন্য একটি ফাইল ওয়াচার ব্যবহার করুন। উদাহরণস্বরূপ, আপনি fswatch ( brew install fswatch) পাইপযুক্ত আরএসসিএনসি ব্যবহার করতে পারেন ।
  8. এই মুহুর্তে, আপনি ব্যবহার করতে সক্ষম হওয়া উচিত docker runএবং আপনার Docker ধারক ফায়ার আপ ব্যবহার -vফোল্ডারের তুমি সিঙ্কিং মাউন্ট পতাকা: docker run -v /foo/bar:/src some-docker-image
  9. ওএস এক্সে যথারীতি কোড আপডেট করুন। পরিবর্তনগুলি খুব দ্রুত আরএসসিএনসি ব্যবহার করে প্রচার করা উচিত, সাধারণ ফাইল ওয়াচার কোডটি যথারীতি পরিবর্তনগুলি বেছে নিতে হবে (যেমন, ব্যবহার করা inotify) এবং বিল্ডটি দ্রুত চালানো উচিত কারণ সমস্ত ফাইল ধারকটিতে "স্থানীয়" থাকে।
  10. যদি আপনার কোনও চলমান ওয়েবসাইট পরীক্ষা করার দরকার হয় তবে boot2docker ipএটি কী আইপি রয়েছে তা জানতে কমান্ডটি চালান ।

ভাগ করে নেওয়ার জন্য ধন্যবাদ! যখন তারা বলে যে rsync "একমুখী" তবে এর অর্থ কি এই যে আমি দুটি ধারকগুলির মধ্যে ফাইলগুলি ভাগ করতে ওএস এক্স ফাইল সিস্টেমটি ব্যবহার করতে পারি না? উদাহরণ: ধারক 1 টি সোর্স ফাইলগুলি দেখায় এবং একটি বাইনারি সংকলন করে, সংকলিত বাইনারি চালানোর জন্য ধারক 2 ব্যবহার করা হয় (উদাহরণটিতে হাস্কেল ব্যবহার করে)।
নিকোলাস হ্যারি

4
@ নিকোলাসহ্যারি: আমার উপলব্ধি হল যে আরএসসিএনএস ওএস এক্স থেকে ডকারের ধারকগুলিতে পরিবর্তনগুলি অনুলিপি করবে, তবে অন্যভাবে নয়। সুতরাং, ডকারের ধারক দ্বারা উত্পন্ন কোনও ফাইল (যেমন একটি সংকলিত বাইনারি) ওএস এক্সে দৃশ্যমান হবে না However তবে, যদি সেই ফাইলগুলি একটি হিসাবে চিহ্নিত ফোল্ডারে উত্পন্ন হয় VOLUME, তবে আপনি সেই ভলিউমে অন্য একটি ধারক অ্যাক্সেস দিতে পারেন --volumes-fromপতাকা। আমি এখনও চেষ্টা করে দেখিনি, তবে আমার মনে হয় এটি কার্যকর হবে।
ইয়েজেগেনি ব্রিকম্যান 21'12 এ 7'15

4
দুর্দান্ত উত্তর। আপনি ডকার-মেশিনের জন্য একটি ড্রাইভার তৈরি করতে পারেন ( github.com/docker/machine ) যা আপনার জন্য বেশিরভাগ বয়লারপ্লেট করে।
ডোম

4
@ ডম: আমি এই ধারণাটি পছন্দ করি তবে আপনি কীভাবে ডকার-মেশিনের জন্য ড্রাইভার তৈরি করবেন তা জানেন? রেপোতে টান দেওয়ার অনুরোধটি কি কেবলমাত্র একটি উপায় বা বহিরাগতভাবে ড্রাইভার তৈরি করা সম্ভব?
ইয়াভেগেনি ব্রিকম্যান

4
এই টিউটোরিয়ালটি কি এখনও উইন্ডোজে নতুন 1.9.1 সংস্করণের জন্য বৈধ? আমি কি এটি ব্যবহার করতে পারি বা ডকারের এই "সমস্যা "টির জন্য ইতিমধ্যে একটি নতুন সমাধান ছিল?

18

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

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

এক পর্যায়ে সমস্ত সমস্যা, সেটআপ প্রচেষ্টা এবং অপারেশন ব্যথার পয়েন্টগুলি যথেষ্ট পরিমাণে সমাধান করা যেতে পারে তবে এখনই আমার গ্রহণ করা এটি একটি নেট ক্ষতি net

ইস্যু # 1: ভার্চুয়াল বক্সে মাউন্ট করা ভলিউম (যা vboxfs ব্যবহার করে) অত্যন্ত ধীর

কিছুক্ষণ অপেক্ষা করুন এবং এটি অবশ্যই উন্নত হবে।

সমস্যা # 2: ফাইল পর্যবেক্ষণটি নষ্ট হয়েছে

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

ঠিক তেমনি "মেঘ" আমার স্থানীয় বিকাশের সেটআপে শূন্য জড়িত রয়েছে, এই মুহুর্তে, ডকার টেস্টিং / স্টেজিং / স্থাপনার জন্য এবং ডেটাবেসগুলি এবং অন্যান্য তৃতীয় পক্ষের উপাদানগুলি চালানোর জন্য একটি জয়, তবে আমি যে অ্যাপ্লিকেশনগুলিতে কোডিং করছি তা সরাসরি চালানো যায় run ওএসএক্স-এ


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

4
হুঁ, এটি কিছুটা নিচে নামা। আমার মঞ্চে / উত্পাদনের পরিবেশে আমি সর্বদা সমতা রাখি। আমি ওএস এক্স-তে কোড দেওয়ার সাথে সাথে এটি সর্বদা আউটলেটার ছিল dev ডকার ডকুমেন্টেশন অবশ্যই এটিকে এমন একটি শব্দ হিসাবে সমাধান করেছে যাতে এটি একটি সমস্যাযুক্ত সমস্যা। আমি এটিকে অন্য এক প্রচেষ্টা করার জন্য যাচ্ছি এবং দেখুন যে আমি কোনও কাজ করতে পারি কিনা।
ইয়েজেগেনি ব্রিকম্যান':

পিটার, আপনি কি এখনও এই উত্তরটিকে বৈধ বলে মনে করেন? মাত্র কয়েক মাস লাইন থেকে নিচে, তবে @ ইয়েগেনিয়ের প্রকল্প এবং এখন মাত্র 2 টি সমস্যা সমাধান করা হয়েছে, সম্ভবত ব্যয় / সুবিধা এখন ইতিমধ্যে উদ্বেগজনক! তাই না?
ক্রেগক্স

4
এটি একটি ব্যক্তিগত পছন্দ জিনিস। পরামর্শদাতা হিসাবে আমি আশা করি যে নিখরচায় প্রকল্পগুলি আমি আশা করি এরপরেও আমি এ নিয়ে বিড়বিড় করব না। আমি যদি পুরো সময়ের কাজটি বেশিরভাগ সপ্তাহে / মাস ধরে একই প্রকল্পে কাজ করি তবে এটি rsync / fswatch স্টাফ সেট আপ করা উপযুক্ত।
পিটার লিয়নস

আজকাল ডকার টুলবক্স এটি সম্পর্কে সঠিক উপায় কারণ আপনি যদি হোমব্রু বা অন্য কোনও প্যাকেজ ম্যানেজার ব্যবহার করেন তবে ডকার টুল সংস্করণগুলি সিঙ্কের বাইরে চলে যাবে, যদি না তারা ডকার টুলবক্স হিসাবে সংস্করণটিকে অনুসরণ করে।
টাকো

12

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

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

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

4
দুর্ভাগ্যক্রমে বর্তমান বিটা সংস্করণ (1.11.0-beta7) অন্যান্য পদ্ধতির মতোই ধীর বলে মনে হচ্ছে সুতরাং এটি ফোরামস.ডোকার.com
t/…

3

দাবি অস্বীকার: আমি পক্ষপাতদুষ্ট হতে পারি, যেহেতু আমি ডকার-সিঙ্কের লেখক।

আমি সম্ভবত এখানে আরও কিছু সমাধান সমাধানের চেষ্টা করেছি যার মধ্যে আরও কয়েকটি রয়েছে ( https://github.com/EugenMayer/docker-sync/wiki/Al متبادلs-to-docker-sync সংকলন দেখুন ) তবে সেগুলি মূলত হয় ব্যর্থ হয় কর্মক্ষমতা (তাদের বেশিরভাগ) বা ডকার-মেশিনে (বা কিছুই নয়) ব্যবহৃত / প্রয়োগ করা হয়।

http://docker-sync.io তৈরি করা হয়েছে সমস্ত সমাধানগুলিকে একীভূত করতে এবং সেরা কৌশলগুলি সরবরাহ করতে (বেশ কয়েকটি প্রয়োগ করে, আপনি চয়ন করতে পারেন)।

এটি ব্যবহারকারীর জন্য অনুমতি সংশোধন সহ আরএসইএনসি (1 ওয়ে সিঙ্ক) এবং একসাথে (2 উপায় সিঙ্ক) ব্যবহার করা যেতে পারে। এটি আপনাকে ডকার-মেশিন বা একটি নির্দিষ্ট হাইপারভাইজারের জন্য বাধ্য করে না বা ম্যাকের জন্য আপনাকে ডকার রাখারও প্রয়োজন রাখে না। এটি তাদের সবার সাথে কাজ করে।

EugenMayer / ডকার-সিঙ্ক / উইকি / ৪. পারফরম্যান্স প্রভাবিত হয় না, এটির মতো আপনার কোনও শেয়ার নেই like

ডকার-সিঙ্ক এবং এর চেঞ্জ-প্রহেলীরা অনুকূলিত হয়েছে এবং 12k ফাইল নিয়ে সমস্যা ছাড়াই প্রকল্পগুলির সাথে কাজ করে।

একবার চেষ্টা করে দেখুন, যদি আপনি চান, আমি প্রতিক্রিয়া শুনতে পছন্দ করি!


2

আমি তোমাকে বুঝি! আমি মনে করি আপনি চেষ্টা করেছেন সবকিছু আমি চেষ্টা করেছি এবং দুর্ভাগ্যক্রমে এটি এখনও ধীর ছিল। তারপরে আমি এই মন্তব্যটি https://github.com/boot2docker/boot2docker/issues/64#issuecomment-70689254 এ এসেছি যা ভার্চুয়াল এবং সমান্তরাল ব্যবহারের পরামর্শ দেয় এবং ভার্চুয়ালবক্সের পরিবর্তে। এটি আমাকে এনএফএস ব্যবহার করার অনুমতি দিয়েছে এবং আমি আমার প্রকল্পের (দ্রুপাল) জন্য একটি বড় পারফরম্যান্স উত্সাহ পেয়েছি।

ভ্যাগ্র্যান্ট ফাইলটি এখানে। আপনাকে যা করতে হবে তা হ'ল ভ্যাগ্রান্ট ইনস্টল করা, এটি ভ্যাগ্র্যান্টফাইল নামক একটি ফাইলে কপি করুন এবং এটি কোনও ফোল্ডারে রেখে দিন। সেই ফোল্ডারে যান এবং vagrant upআপনার স্বাভাবিক বুট 2 ডকার আপের পরিবর্তে একটি করুন।

Vagrant.configure(2) do |config|
  config.vm.box = "parallels/boot2docker"

  config.vm.network "forwarded_port", guest: 80, host: 80

  config.vm.synced_folder(
    "/Users/dicix/work/www", "/vagrant",
    type: 'nfs',
    nfs_udp: true,
    mount_options: %w[actimeo=2],
    bsd__nfs_options: %w[alldirs maproot=root:wheel]
  )
end

আমি ধরে নিচ্ছি এটির জন্য একটি সমান্তরাল ইনস্টল প্রয়োজন?
ইয়েজেগেনি ব্রিকম্যান

2

আমি সমান্তরাল এবং বুট 2 ডকার ( https://github.com/Parallels/boot2docker-vagrant-box ) সহ ভ্যাগ্র্যান্টও ব্যবহার করছি । উন্নয়ন আমার পক্ষে কখনই সহজ ছিল না। docker-composeএবং বড় সেটআপগুলির সাথে সত্যই ভাল কাজ করে । আমি সত্যিই কোনও বিলম্ব বা বিশাল সংস্থান ব্যবহার অনুভব করি না।

আমার Vagrantfileদেখতে দেখতে এটাই :

Vagrant.configure(2) do |config|

  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.box = "parallels/boot2docker"

  config.vm.synced_folder "/Users", "/Users", type: "nfs", mount_options: ["nolock", "vers=3", "udp"], id: "nfs-sync"

end

1

আমি এখন কয়েক সপ্তাহ ধরে একটি ওএস এক্স (মধ্যবর্তী ম্যাকবুক এয়ার) + বুট 2 ডকার + ডকার-রচনা পরিবেশে বিকাশ করছি। মুখ্য পারফরম্যান্স সমস্যাগুলির মধ্যে দৌড়েনি তবে বিকাশ করার সময় আমি কোনও প্রকারের বিল্ডিং চালানো এড়াচ্ছি (কেন এমন কিছু ব্যবহার করবেন না jekyll serve --skip-initial-build?)। এখানে docker-compose.ymlআমি ব্যবহার করছি এমন একটি উদাহরণ ফাইল:

ডকার-কমপোজ.আইএমএল:

test:
  build: .
  volumes:
    - ./client:/src/client
    - ./server:/src/server
    - ./test:/src/test
  command: nodemon --exec jasmine-node -- test/ --verbose --autotest --captureExceptions --color
  environment:
    - DEBUG=*

ডকফেরাইল:

FROM node:0.12

RUN mkdir -p /src
WORKDIR /src

ENV PATH=/src/node_modules/.bin:$PATH

# We add package.json first so that we the
# image build can use the cache as long as the
# contents of package.json hasn't changed.

COPY package.json /src/
RUN npm install --unsafe-perm

COPY . /src

CMD [ "npm", "start" ]
EXPOSE 3000

আমি মাঝে মাঝে এনএফএস ব্যবহার করি ( http://syskall.com/using-boot2docker- using-nfs-instead-of-vboxsf/ ) তবে এটি করার সময় একটি বড় পারফরম্যান্সের পার্থক্য লক্ষ্য করি না।

আমার জন্য, docker-compose up testআমার পরিবেশটি চালিয়ে যাওয়ার সহজ সুবিধার্থে পারফরম্যান্সে ব্যয় হয়েছে (আমি নিয়মিতভাবে বিভিন্ন স্ট্যাক সহ একাধিক প্রকল্পে কাজ করি)।

পিএস: nodemonvboxsf নিয়ে কাজ করে এমন কয়েকটি ফাইল পর্যবেক্ষকের মধ্যে একটি ( https://github.com/remy/nodemon/issues/419 দেখুন )।


এমনকি আমি জেকিলের সাথে প্রাথমিক বিল্ডটি এড়িয়ে গেলেও, যতবারই আমি কোনও ফাইল পরিবর্তন করি, তবে এটি পুনর্নির্মাণ করতে হবে, উত্স কোডটি মাউন্ট করা থাকলে এখনও এটি 1-3 মিনিটের ক্রম গ্রহণ করে। এটি কোনও ধরণের পরিবর্তন এবং পুনরায় লোড শৈলীর বিকাশকে অসম্ভব করে তোলে।
ইয়েজেগেনি ব্রিকম্যান':

@ ইয়েজেনি ব্রিকম্যান ওহ, আমি এটি সম্পর্কে অবগত ছিলাম না :( আমার মনে হয় শেষ বিকল্পটি হবে আপনার কোডটি বুট 2 ডকার ভিএম এর মধ্যে লাইভ করা এবং এটি আপনার হোস্ট মেশিনে এসএসএফ ব্যবহার করে মাউন্ট করা Otherwise অন্যথায়, আমার ধারণা আপনার অপেক্ষা করতে হবে ভাল পারফরম্যান্স ফোল্ডারের ব্যবহার Docker করার জন্য একটি ডেভ পরিবেশ যেমন মাউন্ট করা।
অলিভিয়ের Lalonde


-1

বিকাশের সরঞ্জাম হিসাবে কাজ করার জন্য ডকার পাওয়া সম্ভব। কিন্তু এটি আঘাত হতে চলেছে। আমি প্রক্রিয়াটি এখানে দলিল করেছি:

http://harmingcola.blogspot.com/2015/05/how-to-setup-docker-as-de વિકાસment-tool.html


পোস্ট করার জন্য ধন্যবাদ, তবে এটি মাউন্ট ভলিউমের সাথে পারফরম্যান্সের সমস্যাগুলি কীভাবে সমাধান করবে?
ইয়াভেগেনি ব্রিকম্যান

আহ, দুঃখিত, কোনও কিছু মাউন্ট করার জন্য আপনাকে আর vBox ব্যবহার করতে হবে না। আপনি নিয়মিত ডকার ইন্টারফেসের মাধ্যমে ফোল্ডারগুলি মাউন্ট করতে পারেন
হর্মিংকোলা

-4

এই পদ্ধতিটি সর্বশেষ (সেপ্টেম্বর 2015) এবং ম্যাকের উপর ডকার সেটআপ পাওয়ার সহজতম উপায়: এখানে লিঙ্ক করুন:

আপনি এখানে নির্দেশাবলীর জন্য ডকার টুলবক্স লিঙ্কটি ব্যবহার করে ডকার ইনস্টল করেছেন :

এটি একটি সম্পূর্ণ ডকার সেটআপ প্যাকেজ, এতে নিম্নলিখিত ডকার সরঞ্জামগুলি অন্তর্ভুক্ত রয়েছে:

ডকার-মেশিন বাইনারি চালানোর জন্য ডকার মেশিন

ডকার বাইনারি চালানোর জন্য ডকার ইঞ্জিন

ডকার-রচনা বাইনারি চালানোর জন্য ডকার রচনা

কাইটমেটিক, ডকার জিইআইআই একটি শেল একটি ডকার কমান্ড-লাইন পরিবেশের জন্য পূর্বনির্ধারিত shell

ওরাকল ভিএম ভার্চুয়ালবক্স

এখানে চিত্র বর্ণনা লিখুন

টুলবক্সে কী রয়েছে:

  • ডকার ক্লায়েন্ট
  • ডকার মেশিন
  • ডকার রচনা (শুধুমাত্র ম্যাক)
  • ডকার কাইটমেটিক
  • ভার্চুয়ালবক্স

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