Langkau ke kandungan
ToolMug

Docker Compose kepada docker run

Tampal compose.yaml atau docker-compose.yml untuk mendapatkan arahan docker run yang setara bagi setiap servis — sesuai untuk memulakan bekas pada mesin tanpa Compose atau menyemak cara tepat sesuatu servis dimulakan.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

Docker Compose → docker run
Docker Compose
docker run

Cara menggunakan

  1. Tampal fail Compose di sebelah kiri atau klik Muatkan contoh.
  2. Arahan docker run muncul di sebelah kanan untuk setiap servis mengikut turutan fail.
  3. Semak nota kuning bagi medan yang tidak ditukar (seperti build, deploy atau depends_on), kemudian salin arahan.

Penerangan pilihan

Medan yang disokong
image, container_name, command, entrypoint, ports, volumes (sintaks pendek dan panjang), environment, env_file, networks, network_mode, restart, user, working_dir, labels, logging, ulimits, healthcheck, had sumber dan banyak lagi.
Medan yang tidak ditukar
Medan khusus Compose seperti build, deploy, depends_on, secrets dan configs disenaraikan dalam nota. Servis tanpa imej menerima nama imej ruang letak; bina sendiri dahulu.
Beberapa rangkaian
docker run hanya boleh menyertai satu rangkaian dengan --network; sambungkan rangkaian lain kemudian menggunakan docker network connect.

Contoh

Perkhidmatan seperti ini:

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]

menjadi:

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 tiada setara dalam docker run, jadi ia disenaraikan dalam nota sebaliknya. Mulakan sendiri perkhidmatan yang dirujuknya, mengikut urutan yang betul. Laluan relatif ./html diselesaikan berdasarkan direktori tempat anda menjalankan arahan, jadi jalankannya dari folder yang mengandungi direktori itu.

Soalan lazim

Mengapa setiap arahan mengandungi -d?

Compose biasanya menjalankan servis di latar belakang (docker compose up -d), jadi arahan ini juga begitu. Buang -d untuk melihat output di latar hadapan.

Adakah volum dan rangkaian bernama perlu wujud dahulu?

docker run mencipta volum bernama yang tiada secara automatik, tetapi rangkaian tersuai perlu dicipta dahulu dengan docker network create <name>.

Adakah fail saya dimuat naik?

Tidak. Penghuraian dan penukaran berjalan dalam pelayar anda.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan