ডকার পাত্রে আমার বিকাশের পরিবেশ চালানোর সুবিধা রয়েছে কি?


12

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

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

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

আমি যা বর্ণনা করছি তা কি সম্ভব? কর্মক্ষমতা, নির্ভরযোগ্যতার মতো কোনও ডাউনসাইড রয়েছে কি? অন্য গোছাছ?


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

@ নীলসিম্প1 আপনি ঠিক বলেছেন তবে বাস্তবতা ভিএস, সম্পাদক, রঙের সরঞ্জাম, অ্যান্ড্রয়েড স্টুডিও, নেটবিয়ানস, অফিস, ক্র্যাশপ্ল্যান, গিট, টরটোইজএসভিএন, ফিডলার, রিমোট ডেস্কটপ, কনফারেন্সিং, স্কাইপ, ওয়্যারশার্ক, ভিএমওয়্যার এবং এর 4 টি সংস্করণের মতো like এবং উপর।
জিম ডব্লিউ মনিকাকে

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

উত্তর:


13

এটি কোনও অস্বাভাবিক সমস্যা নয়, তবে ডকার এটিকে সমাধান করার পক্ষে সঠিক উপায় নয়। সাধারণ পাত্রে (ডকার সহ) কোনও একক প্রক্রিয়া যেমন কোনও ওয়েব সার্ভারের জন্য কোনও অ্যাপ্লিকেশন রানটাইম সরবরাহ করার উদ্দেশ্যে তৈরি করা হয় , যেমন কোনও দেব পরিবেশের মতো কোনও মাল্টি-প্রসেসের দৃশ্যের জন্য নয়। ইন করতে এটি করা, কিন্তু একটি খুব মার্জিত সমাধান নয়।

ভার্চুয়ালবক্স বা হাইপার-ভি (যেমন আপনি উইন্ডোতে রয়েছেন) এর মতো traditionalতিহ্যবাহী হাইপারভাইজারের মাধ্যমে ভিএম তৈরি করা একটি আরও ভাল (এবং আরও সাধারণ) পদ্ধতির। একটি আদর্শ ওয়ার্কফ্লো হ'ল:

  • আপনার পছন্দসই ওএস গন্ধের ভিত্তিতে একটি বেস ভিএম চিত্র সন্ধান করুন বা তৈরি করুন। এটি সরাসরি ইনস্টলার আইএসও দিয়ে করা যেতে পারে, বা আপনার কর্মক্ষেত্রে কারও কারও কাছে ইতিমধ্যে থাকতে পারে।
  • বেস ইমেজটি তৈরি হয়ে গেলে আপনার প্রয়োজনীয় সমস্ত ডিভাইস এবং সেটিংস যুক্ত করুন। স্ন্যাপশট বা এটিকে পৃথক চিত্র হিসাবে সংরক্ষণ করুন।
  • এখন আপনি এই চিত্রটি, আরডিপি বা এটিতে রিমোট চালাতে পারবেন এবং আপনি যখন এমন একটি পয়েন্টে পৌঁছাবেন না যেখানে আপনি "বগডড" হয়ে যান, এবং তারপরে আপনার প্রয়োজনীয় ফাইলগুলি সংরক্ষণ করুন (উত্স নিয়ন্ত্রণের প্রতিশ্রুতিবদ্ধকরণ ইত্যাদি), তারপরে ব্লক করুন চিত্রটি দূরে রাখুন এবং আপনার নির্মিত দুটি স্ন্যাপশট / চিত্রগুলির মধ্যে একটি থেকে আবার শুরু করুন। এটি সেকেন্ডে করা যায়, বনাম এক দিন পর্যন্ত পুরানো ফ্যাশন পদ্ধতিতে।
  • লাইন বরাবর যে কোনও বিন্দুতে, যখন আপনি এমন পরিস্থিতির মুখোমুখি হন তখন অতিরিক্ত স্ন্যাপশট তৈরি করুন যখন আপনি কোনও সমস্যা পুনরুত্পাদন করার জন্য রোলব্যাক করতে চাইতে পারেন ইত্যাদি etc.

উপরোক্ত অনেকগুলি আরও কাঠামোগত উপায়ে করার জন্য ভ্যাগ্র্যান্ট একটি দুর্দান্ত সরঞ্জাম।

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

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


2

একটি ডকার পাত্রে নয় হ্যাঁ এন ডকার পাত্রে।

আপনি যখন - তাত্ত্বিকভাবে - আপনার একক কনটেইনার অভ্যন্তরে পুরো দেব পরিবেশকে একত্রিত করতে পারেন, ডকার এটি করার জন্য বোঝানো হয়নি।

পরিবর্তে আপনার প্রতিটি পরিষেবা পৃথক পাত্রে স্থাপন করা উচিত, ডকার কম্পোজ ব্যবহার করে , আপনার সম্পূর্ণ অবকাঠামোকে একটি একক ফাইলে পরিচালনা করা, যেখানে প্রতিটি পরিষেবার নিজস্ব লগফিল, ইউজারস্পেস, নেটওয়ার্কিং ইত্যাদি থাকবে have

আমি আপনাকে একটি উদাহরণ দেই, এটি আমার একটি খসড়া docker-compose.yml

version: '2'
services:

  myproxy:
    build: myproxy
    container_name: ppproxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      default:
        aliases:
          - www.domain1.it
          - www.domain2.it
          - www.domain4.it

  mydb1:
    build: mydb
    environment:
      DB_USER: sdffdssdf
      DB_PASSWORD:  fdsfsdsdf
      DB_NAME: dbanme1
      DB_ENCODING: UTF-8    
      VIRTUAL_HOST: myhost1.net.lan
      VIRTUAL_PORT: 5432

  mydb2:
    build: mydb
    environment:
      DB_USER: ssdfsdfs
      DB_PASSWORD:  sffdssd
      DB_NAME: dbanme2
      DB_ENCODING: UTF-8    
      VIRTUAL_HOST: myhost2.net.lan
      VIRTUAL_PORT: 5432

  www:
    image: myimages/oldservice:v1.1
    container_name: www
    command: /bin/bash /root/launch
    environment:
        VIRTUAL_HOST: www.domain1.it
        VIRTUAL_PORT: 80
    ports:
      - 80
    depends_on:
      - mydb1
      - mydb1
      - myws

  myws:
    build: myjettycontainer
    environment:
        HTTPS_METHOD: noredirect
        VIRTUAL_HOST: www.domain2.it
        VIRTUAL_PORT: 8080
    ports:
      - 8080
    depends_on:
      - mydb1
      - mydb2
      - myproxy
      - mypostfix

  mypostfix:
    image: catatnight/postfix
    container_name: mailer
    environment:
      maildomain: domain1.it
      smtp_user: mymail:sfsfdfds
    ports:
      - 25

এখানে একটি এনজিনেক্স প্রক্সি (মাইপ্রোক্সি), একই রকম দুটি পোস্টগ্রাস ডাটাবেস (মাইডিবি 1 এবং 2), একটি পুরানো জাভা ওয়েব অ্যাপ্লিকেশন সার্ভার (www), একটি জাভা জেটি ধারক যা একটি বিশ্রাম ওয়েব পরিষেবা সরবরাহ করে এবং অবশেষে একটি খুব সাধারণ এসএমটিপি পোস্টফিক্স ধারক।

সবকিছু শুরু হয় - সাধারণত :) - docker-compose upআমার দেব মেশিনে বা উত্পাদনে; লগ ফাইলগুলি সহজেই ফাইলটি পড়ার জন্য একত্রিত হয় এবং স্থানীয়ভাবে প্রায় প্রতিটি কার্যকারিতাটির গ্যারান্টি সহ প্রতিলিপি করা সম্ভব, যদি এটি আমার ল্যাপটপে কাজ করে তবে এটি কাজ করবে।


2

আমি এই জাতীয় জিনিসটির জন্য ভার্চুয়ালবক্স ভিএম ব্যবহার করি।

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

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

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