วิธีใช้งาน
- วางคำสั่ง docker run ทางด้านซ้าย คำสั่งหลายบรรทัดที่มีแบ็กสแลชต่อท้ายใช้งานได้ และคุณสามารถแยกหลายคำสั่งด้วยขึ้นบรรทัดใหม่ อัฒภาค หรือ &&
- ไฟล์ Compose จะแสดงทางด้านขวา แต่ละคำสั่งจะกลายเป็นบริการที่ตั้งชื่อตาม --name หรือใช้ชื่ออิมเมจหากไม่มี --name
- ตรวจดูหมายเหตุสีเหลืองว่ามีรายการใดแปลงไม่ได้ จากนั้นคัดลอกหรือดาวน์โหลด 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" จะคงค่าทั้งหมดไว้
ความเป็นส่วนตัว
เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา