কীভাবে ব্যবহার করবেন
- আপনি বাঁ দিকে Compose ফাইল পেস্ট করুন, অথবা নমুনা লোড করুন।
- ফাইলে থাকা ক্রম অনুযায়ী প্রতিটি সার্ভিসের জন্য ডান দিকে একটি docker run কমান্ড দেখা যাবে।
- রূপান্তর না হওয়া ফিল্ডগুলোর (যেমন build, deploy বা depends_on) হলুদ নোটটি দেখুন, তারপর কমান্ডগুলো কপি করুন।
অপশনগুলোর ব্যাখ্যা
- সমর্থিত ফিল্ড
- image, container_name, command, entrypoint, ports, volumes (সংক্ষিপ্ত ও দীর্ঘ সিনট্যাক্স), environment, env_file, networks, network_mode, restart, user, working_dir, labels, logging, ulimits, healthcheck, resource limits এবং আরও অনেক কিছু।
- রূপান্তর না হওয়া ফিল্ড
- build, deploy, depends_on, secrets এবং configs-এর মতো শুধু Compose-এ থাকা ফিল্ডগুলো নোটে তালিকাভুক্ত হয়। কোনো সার্ভিসে image না থাকলে একটি placeholder image name দেওয়া হয়; আপনি নিজে আগে সেটি build করুন।
- একাধিক নেটওয়ার্ক
- docker run --network দিয়ে কেবল একটি নেটওয়ার্কে যুক্ত হতে পারে; পরে docker network connect দিয়ে অন্যগুলো যুক্ত করুন।
উদাহরণ
এরকম একটি সার্ভিস:
services:
web:
image: nginx:1.27
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
- data:/var/cache/nginx
environment:
TZ: UTC
restart: unless-stopped
depends_on: [db]
রূপান্তরের পর হয়:
docker run -d \
--name web \
-p 8080:80 \
-v ./html:/usr/share/nginx/html:ro \
-v data:/var/cache/nginx \
-e TZ=UTC \
--restart unless-stopped \
nginx:1.27
depends_on-এর কোনো docker run সমতুল্য নেই, তাই এটি বদলে নোটে তালিকাভুক্ত হয়। এটি যেসব সার্ভিসের কথা বলে, সেগুলো সঠিক ক্রমে নিজে চালু করুন। রিলেটিভ পাথ ./html সেই ডিরেক্টরি থেকে ধরা হয় যেখান থেকে আপনি কমান্ড চালান, তাই ওই ডিরেক্টরি যে ফোল্ডারে আছে সেখান থেকে চালান।
সচরাচর জিজ্ঞাসিত প্রশ্ন
কেন প্রতিটি কমান্ডে -d থাকে?
Compose সাধারণত সার্ভিসগুলো ব্যাকগ্রাউন্ডে চালায় (docker compose up -d), তাই কমান্ডগুলোও তা করে। আউটপুট সামনে দেখতে -d সরিয়ে দিন।
নাম দেওয়া ভলিউম ও নেটওয়ার্ক কি আগে থেকে থাকতে হবে?
docker run না থাকা নাম দেওয়া ভলিউম নিজে থেকে তৈরি করে, কিন্তু custom network আগে docker network create <name> দিয়ে তৈরি করতে হবে।
আমার ফাইল কি আপলোড হয়েছে?
না। পার্সিং ও রূপান্তর আপনার ব্রাউজারেই চলে।
গোপনীয়তা
এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।