একটি ডকার পাত্রে নয় হ্যাঁ এন ডকার পাত্রে।
আপনি যখন - তাত্ত্বিকভাবে - আপনার একক কনটেইনার অভ্যন্তরে পুরো দেব পরিবেশকে একত্রিত করতে পারেন, ডকার এটি করার জন্য বোঝানো হয়নি।
পরিবর্তে আপনার প্রতিটি পরিষেবা পৃথক পাত্রে স্থাপন করা উচিত, ডকার কম্পোজ ব্যবহার করে , আপনার সম্পূর্ণ অবকাঠামোকে একটি একক ফাইলে পরিচালনা করা, যেখানে প্রতিটি পরিষেবার নিজস্ব লগফিল, ইউজারস্পেস, নেটওয়ার্কিং ইত্যাদি থাকবে 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
আমার দেব মেশিনে বা উত্পাদনে; লগ ফাইলগুলি সহজেই ফাইলটি পড়ার জন্য একত্রিত হয় এবং স্থানীয়ভাবে প্রায় প্রতিটি কার্যকারিতাটির গ্যারান্টি সহ প্রতিলিপি করা সম্ভব, যদি এটি আমার ল্যাপটপে কাজ করে তবে এটি কাজ করবে।