মূল বিষয়বস্তুতে যান
ToolMug

সরাতে ↑ ↓, খুলতে Enter, বন্ধ করতে Esc চাপুন।

Docker Compose থেকে docker run

আপনি একটি compose.yaml বা docker-compose.yml পেস্ট করলে প্রতিটি সার্ভিসের সমতুল্য docker run কমান্ড পাবেন—Compose ছাড়া কোনো মেশিনে কনটেইনার চালানো বা কোনো সার্ভিস ঠিক কীভাবে শুরু হয় তা যাচাই করার জন্য এটি কাজে লাগে।

আপনার ব্রাউজারে চলে — আপনি যা দেন তার কিছুই আপলোড হয় না

Docker Compose → docker run
Docker Compose
docker run

কীভাবে ব্যবহার করবেন

  1. আপনি বাঁ দিকে Compose ফাইল পেস্ট করুন, অথবা নমুনা লোড করুন।
  2. ফাইলে থাকা ক্রম অনুযায়ী প্রতিটি সার্ভিসের জন্য ডান দিকে একটি docker run কমান্ড দেখা যাবে।
  3. রূপান্তর না হওয়া ফিল্ডগুলোর (যেমন 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> দিয়ে তৈরি করতে হবে।

আমার ফাইল কি আপলোড হয়েছে?

না। পার্সিং ও রূপান্তর আপনার ব্রাউজারেই চলে।

গোপনীয়তা

এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।

সম্পর্কিত টুল