ข้ามไปยังเนื้อหา
ToolMug

ใช้ ↑ ↓ เพื่อเลื่อน, Enter เพื่อเปิด, Esc เพื่อปิด

docker run เป็น Docker Compose

วางคำสั่ง docker run อย่างน้อยหนึ่งคำสั่งเพื่อรับ compose.yaml ที่เทียบเท่า ระบบจะแปลงพอร์ต วอลุ่ม ตัวแปรสภาพแวดล้อม เครือข่าย นโยบายรีสตาร์ต ขีดจำกัดหน่วยความจำและ CPU การบันทึกล็อก และ health check พร้อมแสดงแฟล็กที่แปลงไม่ได้เพื่อให้คุณเพิ่มเอง

ทำงานในเบราว์เซอร์ของคุณ ข้อมูลที่คุณป้อนจะไม่ถูกอัปโหลด

docker run → Docker Compose
docker run
Docker Compose

วิธีใช้งาน

  1. วางคำสั่ง docker run ทางด้านซ้าย คำสั่งหลายบรรทัดที่มีแบ็กสแลชต่อท้ายใช้งานได้ และคุณสามารถแยกหลายคำสั่งด้วยขึ้นบรรทัดใหม่ อัฒภาค หรือ &&
  2. ไฟล์ Compose จะแสดงทางด้านขวา แต่ละคำสั่งจะกลายเป็นบริการที่ตั้งชื่อตาม --name หรือใช้ชื่ออิมเมจหากไม่มี --name
  3. ตรวจดูหมายเหตุสีเหลืองว่ามีรายการใดแปลงไม่ได้ จากนั้นคัดลอกหรือดาวน์โหลด compose.yaml แล้วรัน docker compose up -d

คำอธิบายตัวเลือก

แฟล็กที่รองรับ
-p, -v, --mount, -e, --env-file, --name, --restart, --network, -w, -u, -h, --entrypoint, -l, --add-host, --dns, --cap-add/drop, --device, -m, --cpus, --shm-size, --ulimit, --log-driver/--log-opt, --health-*, -i, -t, --privileged, --init, --read-only และอื่น ๆ
วอลุ่มและเครือข่ายที่ตั้งชื่อ
วอลุ่มที่ตั้งชื่อ (เช่น pgdata:/data) จะประกาศไว้ใต้ volumes ระดับบนสุด เครือข่ายแบบกำหนดเองจะกำหนดเป็น external true ซึ่งหมายความว่าจะใช้เครือข่ายที่มีอยู่ ส่วนเครือข่าย host และ none จะกลายเป็น network_mode
พอร์ต
การแมปพอร์ตจะใส่เครื่องหมายคำพูดไว้เสมอ YAML 1.1 อ่านค่าอย่าง 22:22 เป็นตัวเลขฐาน 60 และเอกสาร Docker แนะนำให้เขียนพอร์ตเป็นสตริง
แฟล็กที่ไม่ใช้
-d และ --rm ไม่มีสิ่งเทียบเท่าใน Compose จึงถูกตัดออก แฟล็กที่ไม่รองรับ เช่น --gpus จะแสดงในหมายเหตุ

ตัวอย่าง

docker run -d --name web --restart unless-stopped -p 8080:80 \\
  -v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27

จะได้:

services:
  web:
    image: nginx:1.27
    container_name: web
    restart: unless-stopped
    mem_limit: 512m
    ports:
      - "8080:80"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./html:/usr/share/nginx/html:ro

คำถามที่พบบ่อย

ไฟล์ต้องมีบรรทัด version หรือไม่?

ไม่ต้องใช้ Docker Compose ปัจจุบัน (v2) ไม่ใช้ฟิลด์ version ระดับบนสุดอีกต่อไป หากมีฟิลด์นี้ ระบบจะละเว้นพร้อมแสดงคำเตือน

รหัสผ่านในตัวแปรสภาพแวดล้อมของฉันถูกอัปโหลดหรือไม่?

ไม่ การแยกวิเคราะห์และการแปลงทำงานในเบราว์เซอร์ของคุณ และไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์

รองรับอาร์กิวเมนต์ที่อยู่ในเครื่องหมายคำพูดหรือไม่?

รองรับ เครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดคู่ และการ escape ด้วยแบ็กสแลชจะทำตามกฎของ shell ดังนั้น -e "MSG=hello world" จะคงค่าทั้งหมดไว้

ความเป็นส่วนตัว

เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา

เครื่องมือที่เกี่ยวข้อง