ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

docker-run - ออนไลน์ใน Cloud

เรียกใช้นักเทียบท่าในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง docker-run ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


docker-run - เรียกใช้คำสั่งในคอนเทนเนอร์ใหม่

เรื่องย่อ


นักเทียบท่า วิ่ง [-a|--แนบ[=[]---เพิ่มโฮสต์[=[]---blkio-น้ำหนัก[=[BLKIO-น้ำหนัก]]]
[--blkio-น้ำหนักอุปกรณ์[=[]---cpu-หุ้น[=0---cap-เพิ่ม[=[]---ฝาหล่น[=[]]]
[--cgroup-ผู้ปกครอง[=CGROUP-เส้นทาง---cidfile[=ซิดิไฟล์---cpu-ระยะเวลา[=0---cpu-โควต้า[=0]]
[--cpuset-ซีพียู[=CPUSET-CPU---cpuset-เมมส์[=CPUSET-MEMS--d|--ถอด]
[--detach-คีย์[=[]---อุปกรณ์[=[]---อุปกรณ์-อ่าน-bps[=[]---อุปกรณ์อ่าน-iops[=[]]]
[--อุปกรณ์-เขียน-bps[=[]---อุปกรณ์-เขียน-iops[=[]---dns[=[]---dns-ตัวเลือก[=[]]]
[--dns-ค้นหา[=[]--e|--env[=[]---ทางเข้า[=จุดเริ่มต้น---env-ไฟล์[=[]]]
[--เปิดเผย[=[]---group-เพิ่ม[=[]--h|--ชื่อโฮสต์[=ชื่อโฮสต์---ช่วยด้วย] [-i|--เชิงโต้ตอบ]
[--ไอพี[=IPv4-ที่อยู่---ip6[=IPv6-ที่อยู่---ไอพีซี[=IPC---การแยกตัว[=ผิดนัด]]
[--เคอร์เนล-หน่วยความจำ[=หน่วยความจำเคอร์เนล--l|--ฉลาก[=[]---label-ไฟล์[=[]---ลิงค์[=[]]]
[--log-ไดรเวอร์[=[]---log-เลือก[=[]--m|--หน่วยความจำ[=หน่วยความจำ---หมายเลขทางกายภาพ[=หมายเลขทางกายภาพ]]
[--หน่วยความจำ-จอง[=หน่วยความจำสำรอง---หน่วยความจำ-swap[=LIMIT]]
[--หน่วยความจำ-swappiness[=หน่วยความจำ-การแลกเปลี่ยน---ชื่อ[=ชื่อ---สุทธิ[="สะพาน"]]
[--net-นามแฝง[=[]---oom-ฆ่าปิดการใช้งาน] [--oom-คะแนน-adj[=0--P|--เผยแพร่-ทั้งหมด]
[-p|--เผยแพร่[=[]---ปิด[=[]---สิทธิพิเศษ] [--อ่านเท่านั้น] [--เริ่มต้นใหม่[=เริ่มต้นใหม่---rm]
[--การรักษาความปลอดภัย-opt[=[]---หยุดสัญญาณ[=สัญญาณ---shm-ขนาด[=[]---sig-พร็อกซี[=จริง]]
[-t|--tty] [--tmpfs[=[คอนเทนเนอร์-DIR[: ]--u|--ผู้ใช้[=USER---ulimit[=[]]]
[--อุตส[=[]--v|--ปริมาณ[=[[โฮสต์-DIR:]คอนเทนเนอร์-DIR[:ตัวเลือก]]]]
[--ปริมาณไดรเวอร์[=DRIVER---volumes-จาก[=[]--w|--ผบ[=เวิร์คไดร์]] ภาพ [คำสั่ง]
[อาร์จี...]

DESCRIPTION


เรียกใช้กระบวนการในคอนเทนเนอร์ใหม่ นักเทียบท่า วิ่ง เริ่มกระบวนการด้วยระบบไฟล์ของตัวเอง
เครือข่ายของตนเอง และแผนผังกระบวนการที่แยกออกมาต่างหาก ภาพที่เริ่มกระบวนการ
อาจกำหนดค่าเริ่มต้นที่เกี่ยวข้องกับกระบวนการที่จะเรียกใช้ในคอนเทนเนอร์
เครือข่ายเพื่อเปิดเผยและอื่น ๆ แต่ นักเทียบท่า วิ่ง ให้การควบคุมขั้นสุดท้ายแก่ผู้ปฏิบัติงานหรือ
ผู้ดูแลระบบที่เริ่มคอนเทนเนอร์จากอิมเมจ ด้วยเหตุผลนั้น นักเทียบท่า วิ่ง มีมากขึ้น
ตัวเลือกมากกว่าคำสั่ง Docker อื่น ๆ

หากยังไม่ได้โหลด IMAGE แล้ว นักเทียบท่า วิ่ง จะดึงภาพและภาพทั้งหมด
การพึ่งพาจากที่เก็บในลักษณะเดียวกับการรัน นักเทียบท่า ดึง ภาพก่อนหน้านั้น
เริ่มคอนเทนเนอร์จากภาพนั้น

OPTIONS


-a, --แนบ-
แนบไปกับ STDIN, STDOUT หรือ STDERR

ในโหมดเบื้องหน้า (ค่าเริ่มต้นเมื่อ -d ไม่ได้ระบุ) นักเทียบท่า วิ่ง สามารถเริ่มไฟล์
ประมวลผลในคอนเทนเนอร์และแนบคอนโซลเข้ากับอินพุต เอาต์พุต มาตรฐานของกระบวนการ
และข้อผิดพลาดมาตรฐาน มันสามารถแกล้งทำเป็น TTY ได้ (นี่คือสิ่งที่ commandline ส่วนใหญ่
ปฏิบัติการคาดหวัง) และส่งต่อสัญญาณ ดิ -a สามารถตั้งค่าตัวเลือกสำหรับแต่ละ stdin
stdout และ stderr

--เพิ่มโฮสต์-
เพิ่มการแมป host-to-IP แบบกำหนดเอง (host:ip)

เพิ่มบรรทัดใน /etc/hosts.js รูปแบบคือชื่อโฮสต์:ip ดิ --เพิ่มโฮสต์ สามารถตั้งค่าตัวเลือกได้
หลายครั้ง.

--blkio-น้ำหนัก=0
บล็อกน้ำหนัก IO (น้ำหนักสัมพัทธ์) ยอมรับค่าน้ำหนักระหว่าง 10 ถึง 1000

--blkio-น้ำหนักอุปกรณ์-
บล็อกน้ำหนัก IO (น้ำหนักอุปกรณ์สัมพัทธ์ รูปแบบ: DEVICE_NAME: น้ำหนัก).

--cpu-หุ้น=0
ส่วนแบ่ง CPU (น้ำหนักสัมพัทธ์)

ตามค่าเริ่มต้น คอนเทนเนอร์ทั้งหมดจะได้รับสัดส่วนของรอบ CPU เท่ากัน สัดส่วนนี้สามารถ
แก้ไขโดยการเปลี่ยนการถ่วงน้ำหนักส่วนแบ่ง CPU ของคอนเทนเนอร์ที่สัมพันธ์กับการถ่วงน้ำหนักของทั้งหมด
ภาชนะวิ่งอื่น ๆ

หากต้องการแก้ไขสัดส่วนจากค่าเริ่มต้น 1024 ให้ใช้ปุ่ม --cpu-หุ้น ตั้งค่าสถานะ
น้ำหนัก 2 หรือสูงกว่า

สัดส่วนจะใช้ก็ต่อเมื่อกระบวนการที่ใช้ CPU มากกำลังทำงานอยู่ เมื่องานใน
คอนเทนเนอร์หนึ่งไม่ได้ใช้งาน คอนเทนเนอร์อื่นสามารถใช้เวลา CPU ที่เหลือได้ จำนวนเงินจริง
ของเวลา CPU จะแตกต่างกันไปขึ้นอยู่กับจำนวนคอนเทนเนอร์ที่ทำงานบนระบบ

ตัวอย่างเช่น พิจารณาคอนเทนเนอร์สามตัว ตัวหนึ่งมี cpu-share เท่ากับ 1024 และอีกสองตัวมี a
การตั้งค่า cpu-share ที่ 512 เมื่อกระบวนการในคอนเทนเนอร์ทั้งสามพยายามใช้ 100% ของ
CPU คอนเทนเนอร์แรกจะได้รับ 50% ของเวลา CPU ทั้งหมด หากคุณเพิ่มที่สี่
คอนเทนเนอร์ที่มี cpu-share เท่ากับ 1024 คอนเทนเนอร์แรกจะได้รับ 33% ของ CPU เท่านั้น ดิ
คอนเทนเนอร์ที่เหลือจะได้รับ 16.5%, 16.5% และ 33% ของ CPU

บนระบบมัลติคอร์ การแบ่งเวลาของ CPU จะถูกกระจายไปยังคอร์ของ CPU ทั้งหมด แม้ว่า
คอนเทนเนอร์ถูกจำกัดเวลา CPU ให้น้อยกว่า 100% มันสามารถใช้ 100% ของแต่ละคน
ซีพียูคอร์

ตัวอย่างเช่น พิจารณาระบบที่มีแกนมากกว่าสามคอร์ หากคุณเริ่มคอนเทนเนอร์หนึ่งตัว {C0}
กับ -ค=512 เรียกใช้กระบวนการหนึ่งและคอนเทนเนอร์อื่น {C1} กับ -ค=1024 วิ่งสอง
กระบวนการ ซึ่งอาจส่งผลให้มีการแบ่งส่วนของ CPU ดังต่อไปนี้:

PID คอนเทนเนอร์ CPU CPU แชร์
100 {C0} 0 100% ของ CPU0
101 {C1} 1 100% ของ CPU1
102 {C1} 2 100% ของ CPU2

--cap-เพิ่ม-
เพิ่มความสามารถของลินุกซ์

--ฝาหล่น-
วางความสามารถของลินุกซ์

--cgroup-ผู้ปกครอง= ""
เส้นทางไปยัง cgroups ที่จะสร้าง cgroup สำหรับคอนเทนเนอร์ หากเส้นทาง
ไม่แน่นอน เส้นทางถือว่าสัมพันธ์กับเส้นทาง cgroups ของ init
กระบวนการ. Cgroups จะถูกสร้างขึ้นหากไม่มีอยู่แล้ว

--cidfile= ""
เขียนรหัสคอนเทนเนอร์ไปยังไฟล์

--cpu-ระยะเวลา=0
จำกัดระยะเวลา CFS ของ CPU (ตัวกำหนดเวลาที่ยุติธรรมอย่างสมบูรณ์)

จำกัดการใช้งาน CPU ของคอนเทนเนอร์ แฟล็กนี้บอกให้เคอร์เนลจำกัด CPU . ของคอนเทนเนอร์
การใช้งานตามระยะเวลาที่คุณระบุ

--cpuset-ซีพียู= ""
CPU ที่อนุญาตให้ดำเนินการ (0-3, 0,1)

--cpuset-เมมส์= ""
โหนดหน่วยความจำ (MEM) ซึ่งอนุญาตให้ดำเนินการได้ (0-3, 0,1) มีผลกับ NUMA . เท่านั้น
ระบบ

หากคุณมีโหนดหน่วยความจำสี่โหนดในระบบ (0-3) ให้ใช้ --cpuset-mems=0,1 แล้วประมวลผล
ในคอนเทนเนอร์ Docker ของคุณจะใช้หน่วยความจำจากโหนดหน่วยความจำสองโหนดแรกเท่านั้น

--cpu-โควต้า=0
จำกัดโควต้า CPU CFS (ตัวกำหนดเวลาที่ยุติธรรมอย่างสมบูรณ์)

จำกัดการใช้งาน CPU ของคอนเทนเนอร์ โดยค่าเริ่มต้น คอนเทนเนอร์จะทำงานด้วยทรัพยากร CPU ทั้งหมด
แฟล็กนี้บอกให้เคอร์เนลจำกัดการใช้งาน CPU ของคอนเทนเนอร์ตามโควต้าที่คุณระบุ

-d, --ถอด=จริง|เท็จ
โหมดแยกอิสระ: เรียกใช้คอนเทนเนอร์ในพื้นหลังและพิมพ์ ID คอนเทนเนอร์ใหม่ ดิ
ค่าเริ่มต้นคือ เท็จ.

วิ่งตอนไหนก็ได้ นักเทียบท่า ps ในเชลล์อื่นเพื่อดูรายการวิ่ง
ตู้คอนเทนเนอร์ คุณสามารถต่อเข้ากับคอนเทนเนอร์ที่แยกออกมาใหม่ได้ด้วย นักเทียบท่า แนบ. หากคุณเลือกที่จะ
เรียกใช้คอนเทนเนอร์ในโหมดแยกส่วน แล้วคุณจะใช้ .ไม่ได้ -rm ตัวเลือก

เมื่อต่อเข้ากับโหมด tty คุณสามารถถอดออกจากคอนเทนเนอร์ได้ (และปล่อยให้มันทำงาน)
โดยใช้ลำดับคีย์ที่กำหนดค่าได้ ลำดับเริ่มต้นคือ CTRL-หน้า CTRL-q. คุณกำหนดค่า
ลำดับคีย์โดยใช้ --detach-คีย์ ตัวเลือกหรือไฟล์การกำหนดค่า ดู
config-json(5) สำหรับเอกสารเกี่ยวกับการใช้ไฟล์กำหนดค่า

--detach-คีย์= ""
แทนที่ลำดับคีย์สำหรับการถอดคอนเทนเนอร์ รูปแบบเป็นตัวอักษรตัวเดียว [aZ]
or Ctrl- ที่ไหน เป็นหนึ่งใน: อาริโซน่า, @, ^, [, , or _.

--อุปกรณ์-
เพิ่มอุปกรณ์โฮสต์ลงในคอนเทนเนอร์ (เช่น --device=/dev/sdc:/dev/xvdc:rwm)

--อุปกรณ์-อ่าน-bps-
จำกัดอัตราการอ่านจากอุปกรณ์ (เช่น --device-read-bps=/dev/sda:1mb)

--อุปกรณ์อ่าน-iops-
จำกัดอัตราการอ่านจากอุปกรณ์ (เช่น --device-read-iops=/dev/sda:1000)

--อุปกรณ์-เขียน-bps-
จำกัดอัตราการเขียนไปยังอุปกรณ์ (เช่น --device-write-bps=/dev/sda:1mb)

--อุปกรณ์-เขียน-iops-
จำกัดอัตราการเขียนอุปกรณ์ aa (เช่น --device-write-iops=/dev/sda:1000)

--dns-ค้นหา-
ตั้งค่าโดเมนการค้นหา DNS ที่กำหนดเอง (ใช้ --dns-search=. หากคุณไม่ต้องการตั้งค่าการค้นหา
โดเมน)

--dns-ตัวเลือก-
ตั้งค่าตัวเลือก DNS แบบกำหนดเอง

--dns-
ตั้งค่าเซิร์ฟเวอร์ DNS แบบกำหนดเอง

สามารถใช้ตัวเลือกนี้เพื่อแทนที่การกำหนดค่า DNS ที่ส่งผ่านไปยังคอนเทนเนอร์
โดยปกติแล้ว สิ่งนี้จำเป็นเมื่อการกำหนดค่าโฮสต์ DNS ไม่ถูกต้องสำหรับคอนเทนเนอร์
(เช่น 127.0.0.1) เมื่อเป็นเช่นนี้ --dns ธงเป็นสิ่งจำเป็นสำหรับทุกการวิ่ง

-e, --env-
ตั้งค่าตัวแปรสภาพแวดล้อม

ตัวเลือกนี้ช่วยให้คุณระบุตัวแปรสภาพแวดล้อมตามอำเภอใจที่พร้อมใช้งานสำหรับ
กระบวนการที่จะเปิดตัวภายในคอนเทนเนอร์

--ทางเข้า= ""
เขียนทับ ENTRYPOINT เริ่มต้นของรูปภาพ

ตัวเลือกนี้อนุญาตให้คุณเขียนทับจุดเริ่มต้นเริ่มต้นของรูปภาพที่ตั้งค่าไว้ใน
ด็อคเกอร์ไฟล์ ENTRYPOINT ของรูปภาพคล้ายกับ COMMAND เพราะมันระบุว่าอะไร
เรียกใช้งานได้เมื่อคอนเทนเนอร์เริ่มทำงาน แต่ (โดยเจตนา) ยากกว่า
แทนที่. ENTRYPOINT ให้คอนเทนเนอร์มีลักษณะหรือพฤติกรรมเริ่มต้น ดังนั้นเมื่อ
คุณตั้งค่า ENTRYPOINT คุณสามารถเรียกใช้คอนเทนเนอร์ราวกับว่าเป็นไบนารีนั้นพร้อม
ตัวเลือกเริ่มต้น และคุณสามารถส่งตัวเลือกเพิ่มเติมผ่านทางคำสั่งได้ แต่บางครั้ง
โอเปอเรเตอร์อาจต้องการเรียกใช้อย่างอื่นภายในคอนเทนเนอร์ ดังนั้นคุณสามารถแทนที่
ENTRYPOINT เริ่มต้นที่รันไทม์โดยใช้ a --ทางเข้า และสตริงเพื่อระบุ new
ENTRYPOINT

--env-ไฟล์-
อ่านในไฟล์ที่คั่นด้วยบรรทัดของตัวแปรสภาพแวดล้อม

--เปิดเผย-
เปิดเผยพอร์ตหรือช่วงของพอร์ต (เช่น --expose=3300-3310) แจ้ง Docker ว่า
คอนเทนเนอร์รับฟังบนพอร์ตเครือข่ายที่ระบุ ณ รันไทม์ นักเทียบท่าใช้ข้อมูลนี้
เพื่อเชื่อมต่อคอนเทนเนอร์โดยใช้ลิงก์และตั้งค่าการเปลี่ยนเส้นทางพอร์ตบนระบบโฮสต์

--group-เพิ่ม-
เพิ่มกลุ่มเพิ่มเติมเพื่อเรียกใช้เป็น

-h, --ชื่อโฮสต์= ""
ชื่อโฮสต์คอนเทนเนอร์

ตั้งชื่อโฮสต์คอนเทนเนอร์ที่พร้อมใช้งานภายในคอนเทนเนอร์

--ช่วยด้วย
พิมพ์คำสั่งการใช้งาน

-i, --เชิงโต้ตอบ=จริง|เท็จ
เปิด STDIN ไว้แม้ว่าจะไม่ได้แนบมาก็ตาม ค่าเริ่มต้นคือ เท็จ.

เมื่อตั้งค่าเป็นจริง ให้เปิด stdin ไว้แม้ว่าจะไม่ได้แนบ ค่าเริ่มต้นเป็นเท็จ

--ไอพี= ""
ตั้งค่าที่อยู่ IPv4 ของอินเตอร์เฟสของคอนเทนเนอร์ (เช่น 172.23.0.9)

ใช้ได้เฉพาะกับ --สุทธิ สำหรับเครือข่ายที่ผู้ใช้กำหนด

--ip6= ""
ตั้งค่าที่อยู่ IPv6 ของอินเตอร์เฟสของคอนเทนเนอร์ (เช่น 2001:db8::1b99)

ใช้ได้เฉพาะกับ --สุทธิ สำหรับเครือข่ายที่ผู้ใช้กำหนด

--ไอพีซี= ""
ค่าเริ่มต้นคือการสร้างเนมสเปซ IPC ส่วนตัว (POSIX SysV IPC) สำหรับคอนเทนเนอร์
'คอนเทนเนอร์: ': ใช้คอนเทนเนอร์อื่นที่ใช้ร่วมกันซ้ำ
หน่วยความจำ สัญญาณ และคิวข้อความ
'โฮสต์': ใช้หน่วยความจำที่แชร์ของโฮสต์ สัญญาณและข้อความ
คิวภายในคอนเทนเนอร์ หมายเหตุ: โหมดโฮสต์ให้คอนเทนเนอร์เข้าถึงภายในเครื่องได้อย่างเต็มที่
หน่วยความจำที่ใช้ร่วมกันจึงถือว่าไม่ปลอดภัย

--การแยกตัว="ผิดนัด"
การแยกสารจะระบุประเภทของเทคโนโลยีการแยกสารที่ใช้โดยคอนเทนเนอร์

-l, --ฉลาก-
ตั้งค่าข้อมูลเมตาบนคอนเทนเนอร์ (เช่น --label com.example.key=value)

--เคอร์เนล-หน่วยความจำ= ""
ขีดจำกัดหน่วยความจำเคอร์เนล (รูปแบบ: [ ]โดยที่หน่วย = b, k, m หรือ g)

จำกัดหน่วยความจำเคอร์เนลที่พร้อมใช้งานสำหรับคอนเทนเนอร์ หากกำหนดขีดจำกัดเป็น 0 (ไม่ใช่
การใช้ --เคอร์เนล-หน่วยความจำ) หน่วยความจำเคอร์เนลของคอนเทนเนอร์ไม่จำกัด หากคุณระบุ a
จำกัด อาจปัดขึ้นเป็นหลายเท่าของขนาดหน้าของระบบปฏิบัติการและ
มูลค่าอาจมีมาก หลายล้านล้าน

--label-ไฟล์-
อ่านในไฟล์ที่คั่นด้วยบรรทัดของป้ายกำกับ

--ลิงค์-
เพิ่มลิงค์ไปยังคอนเทนเนอร์อื่นในรูปแบบของ :นามแฝงหรือเพียงแค่ ใน
ซึ่งกรณีนามแฝงจะตรงกับชื่อ

หากผู้ประกอบการใช้ --ลิงค์ เมื่อเริ่มต้นคอนเทนเนอร์ไคลเอนต์ใหม่จากนั้นไคลเอนต์
คอนเทนเนอร์สามารถเข้าถึงพอร์ตที่เปิดเผยผ่านอินเทอร์เฟซเครือข่ายส่วนตัว นักเทียบท่าจะตั้งค่า
ตัวแปรสภาพแวดล้อมบางอย่างในคอนเทนเนอร์ไคลเอ็นต์เพื่อช่วยระบุว่าอินเทอร์เฟซใดและ
พอร์ตที่จะใช้

--log-ไดรเวอร์="json-ไฟล์|syslog|วารสาร|เจลฟ์|คล่องแคล่ว|awslogs|แตก|ไม่มี"
กำลังบันทึกไดรเวอร์สำหรับคอนเทนเนอร์ ค่าเริ่มต้นถูกกำหนดโดย daemon --log-ไดรเวอร์ ธง.
การเตือน: นักเทียบท่า บันทึก คำสั่งใช้ได้เฉพาะกับ json-ไฟล์ และ
วารสาร ไดรเวอร์การบันทึก

--log-เลือก-
การบันทึกตัวเลือกเฉพาะของไดรเวอร์

-m, --หน่วยความจำ= ""
ขีดจำกัดหน่วยความจำ (รูปแบบ: [ ] โดยที่หน่วย = b, k, m หรือ g)

ให้คุณจำกัดหน่วยความจำที่พร้อมใช้งานในคอนเทนเนอร์ หากโฮสต์รองรับการสลับ
หน่วยความจำแล้ว -m การตั้งค่าหน่วยความจำอาจมีขนาดใหญ่กว่าแรมจริง หากขีดจำกัด 0 คือ
ระบุ (ไม่ใช้ -m) หน่วยความจำของคอนเทนเนอร์ไม่จำกัด ขีด จำกัด ที่แท้จริงอาจเป็น
ปัดเศษขึ้นเป็นหลายขนาดหน้าของระบบปฏิบัติการ (ค่าจะมาก
มาก นั่นคือล้านล้าน)

--หน่วยความจำ-จอง= ""
ขีด จำกัด หน่วยความจำอ่อน (รูปแบบ: [ ] โดยที่หน่วย = b, k, m หรือ g)

หลังจากตั้งค่าการสำรองหน่วยความจำ เมื่อระบบตรวจพบความขัดแย้งของหน่วยความจำหรือหน่วยความจำเหลือน้อย
ตู้คอนเทนเนอร์ถูกบังคับให้จำกัดการบริโภคไว้เป็นการจอง ดังนั้นคุณควร
ตั้งค่าด้านล่างเสมอ --หน่วยความจำมิฉะนั้น ฮาร์ดลิมิตจะมีความสำคัญเหนือกว่า โดย
ค่าเริ่มต้น การสำรองหน่วยความจำจะเหมือนกับขีดจำกัดหน่วยความจำ

--หน่วยความจำ-swap="LIMIT"
ค่าจำกัดเท่ากับหน่วยความจำบวกสลับ ต้องใช้กับ -m (--หน่วยความจำ) ธง. NS
แลกเปลี่ยน LIMIT ควรใหญ่กว่า .เสมอ -m (--หน่วยความจำ) ค่า.

รูปแบบของ LIMIT is [ ]. หน่วยสามารถ b (ไบต์) k (กิโลไบต์) m
(เมกะไบต์) หรือ g (กิกะไบต์). หากคุณไม่ระบุหน่วย b ถูกนำมาใช้. ตั้ง LIMIT เป็น -1 ไปยัง
เปิดใช้งานการแลกเปลี่ยนไม่ จำกัด

--หมายเลขทางกายภาพ= ""
ที่อยู่ MAC ของคอนเทนเนอร์ (เช่น 92:d0:c6:0a:29:33)

โปรดจำไว้ว่าที่อยู่ MAC ในเครือข่ายอีเทอร์เน็ตต้องไม่ซ้ำกัน IPv6 ลิงค์-local
ที่อยู่จะขึ้นอยู่กับที่อยู่ MAC ของอุปกรณ์ตาม RFC4862

--ชื่อ= ""
กำหนดชื่อให้กับคอนเทนเนอร์

ผู้ปฏิบัติงานสามารถระบุคอนเทนเนอร์ได้สามวิธี:
UUID ตัวระบุแบบยาว
(“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”)
ตัวระบุแบบสั้น UUID (“f78375b1c487”)
ชื่อ (“โยนาห์”)

ตัวระบุ UUID มาจาก Docker daemon และหากไม่ได้กำหนดชื่อให้กับ
คอนเทนเนอร์กับ --ชื่อ จากนั้นภูตจะสร้างชื่อสตริงแบบสุ่มด้วย ชื่อว่า
มีประโยชน์เมื่อกำหนดลิงค์ (ดู --ลิงค์) (หรือสถานที่อื่นใดที่คุณต้องระบุ a
คอนเทนเนอร์). สิ่งนี้ใช้ได้กับทั้งคอนเทนเนอร์ Docker พื้นหลังและเบื้องหน้า

--สุทธิ="สะพาน"
ตั้งค่าโหมดเครือข่ายสำหรับคอนเทนเนอร์
'สะพาน': สร้างเครือข่ายสแต็กบน Docker เริ่มต้น
สะพาน
'ไม่มี': ไม่มีเครือข่าย
'คอนเทนเนอร์: ': ใช้เครือข่ายของคอนเทนเนอร์อื่นซ้ำ
กอง
'โฮสต์': ใช้สแต็กเครือข่ายโฮสต์ Docker หมายเหตุ: เจ้าภาพ
โหมดให้คอนเทนเนอร์เข้าถึงบริการระบบภายในอย่างเต็มรูปแบบ เช่น D-bus และ is
จึงถือว่าไม่ปลอดภัย
' | ': เชื่อมต่อกับผู้ใช้กำหนด
เครือข่าย

--net-นามแฝง-
เพิ่มชื่อแทนขอบเขตเครือข่ายสำหรับคอนเทนเนอร์

--oom-ฆ่าปิดการใช้งาน=จริง|เท็จ
ว่าจะปิดการใช้งาน OOM Killer สำหรับคอนเทนเนอร์หรือไม่

--oom-คะแนน-adj= ""
ปรับการตั้งค่า OOM ของโฮสต์สำหรับคอนเทนเนอร์ (ยอมรับ -1000 ถึง 1000)

-P, --เผยแพร่-ทั้งหมด=จริง|เท็จ
เผยแพร่พอร์ตที่เปิดเผยทั้งหมดไปยังพอร์ตแบบสุ่มบนอินเทอร์เฟซโฮสต์ ค่าเริ่มต้นคือ เท็จ.

เมื่อตั้งค่าเป็น true ให้เผยแพร่พอร์ตที่เปิดเผยทั้งหมดไปยังอินเทอร์เฟซโฮสต์ ค่าเริ่มต้นเป็นเท็จ
หากโอเปอเรเตอร์ใช้ -P (หรือ -p) แล้ว Docker จะทำให้พอร์ตที่เปิดเผยสามารถเข้าถึงได้บน
โฮสต์และพอร์ตจะพร้อมใช้งานสำหรับลูกค้าที่สามารถเข้าถึงโฮสต์ได้ เมื่อใช้ -P
นักเทียบท่าจะผูกพอร์ตที่เปิดเผยกับพอร์ตสุ่มบนโฮสต์ภายใน ชั่วคราว พอร์ต
พิสัย ที่กำหนดโดย /proc/sys/net/ipv4/ip_local_port_range. เพื่อหาแผนที่ระหว่าง
พอร์ตโฮสต์และพอร์ตที่เปิดเผย ใช้ นักเทียบท่า พอร์ต.

-p, --เผยแพร่-
เผยแพร่พอร์ตของคอนเทนเนอร์หรือช่วงพอร์ตไปยังโฮสต์

รูปแบบ: ip:hostPort:คอนเทนเนอร์พอร์ต | ip::คอนเทนเนอร์พอร์ต | hostPort:คอนเทนเนอร์พอร์ต |
ตู้คอนเทนเนอร์พอร์ต ทั้ง hostPort และ containerPort สามารถระบุเป็นช่วงของพอร์ตได้ เมื่อไหร่
การระบุช่วงสำหรับทั้งคู่ จำนวนพอร์ตคอนเทนเนอร์ในช่วงต้องตรงกับ
จำนวนพอร์ตโฮสต์ในช่วง (เช่น, นักเทียบท่า วิ่ง -p 1234-1236:1222-1224 --ชื่อ
สิ่งนี้ใช้งานได้ -t busybox แต่ไม่ นักเทียบท่า วิ่ง -p 1230-1236:1230-1240 --ชื่อ
RangeContainerPortsใหญ่กว่าRangeHostPorts -t busybox) ด้วยไอพี: นักเทียบท่า วิ่ง -p
127.0.0.1:$HOSTPORT:$CONTAINERPORT --ชื่อ CONTAINER -t บางภาพ ใช้ นักเทียบท่า พอร์ต เพื่อดู
การทำแผนที่จริง: นักเทียบท่า พอร์ต CONTAINER $คอนเทนเนอร์พอร์ต

--ปิด=เจ้าภาพ
ตั้งค่าโหมด PID สำหรับคอนเทนเนอร์
เจ้าภาพ: ใช้เนมสเปซ PID ของโฮสต์ภายในคอนเทนเนอร์
หมายเหตุ: โหมดโฮสต์ให้คอนเทนเนอร์เข้าถึง PID ในเครื่องได้อย่างเต็มที่ ดังนั้น
ถือว่าไม่ปลอดภัย

--อุตส=เจ้าภาพ
ตั้งค่าโหมด UTS สำหรับคอนเทนเนอร์
เจ้าภาพ: ใช้เนมสเปซ UTS ของโฮสต์ภายในคอนเทนเนอร์
หมายเหตุ: โหมดโฮสต์ให้คอนเทนเนอร์เข้าถึงการเปลี่ยนชื่อโฮสต์และ is . ของโฮสต์
จึงถือว่าไม่ปลอดภัย

--สิทธิพิเศษ=จริง|เท็จ
ให้สิทธิ์เพิ่มเติมแก่คอนเทนเนอร์นี้ ค่าเริ่มต้นคือ เท็จ.

ตามค่าเริ่มต้น คอนเทนเนอร์ Docker เป็น "unprivileged" (=false) และไม่สามารถเรียกใช้ a
Docker daemon ภายในคอนเทนเนอร์ Docker นี่เป็นเพราะโดยค่าเริ่มต้นคอนเทนเนอร์ไม่ใช่
อนุญาตให้เข้าถึงอุปกรณ์ใด ๆ คอนเทนเนอร์ "สิทธิพิเศษ" จะได้รับการเข้าถึงอุปกรณ์ทั้งหมด

เมื่อโอเปอเรเตอร์ดำเนินการ นักเทียบท่า วิ่ง --สิทธิพิเศษ, นักเทียบท่าจะเปิดใช้งานการเข้าถึงทั้งหมด
อุปกรณ์บนโฮสต์รวมถึงตั้งค่าบางอย่างใน AppArmor เพื่ออนุญาตคอนเทนเนอร์
การเข้าถึงโฮสต์เดียวกันเกือบทั้งหมดเป็นกระบวนการที่ทำงานนอกคอนเทนเนอร์บน
เจ้าภาพ

--อ่านเท่านั้น=จริง|เท็จ
เมานต์ระบบไฟล์รูทของคอนเทนเนอร์เป็นแบบอ่านอย่างเดียว

โดยค่าเริ่มต้น คอนเทนเนอร์จะมีระบบไฟล์รูทที่สามารถเขียนได้ ทำให้กระบวนการเขียนได้
ไฟล์ได้ทุกที่ โดยระบุ --อ่านเท่านั้น ตั้งค่าสถานะคอนเทนเนอร์จะมีรูท
ติดตั้งระบบไฟล์เป็นแบบอ่านอย่างเดียวห้ามเขียนใดๆ

--เริ่มต้นใหม่="ไม่"
นโยบายเริ่มต้นใหม่เพื่อใช้เมื่อคอนเทนเนอร์ออก (ไม่, on-failure[:max-retry], เสมอ,
เว้นแต่จะหยุด)

--rm=จริง|เท็จ
นำคอนเทนเนอร์ออกโดยอัตโนมัติเมื่อออกจากระบบ (เข้ากันไม่ได้กับ -d) ค่าเริ่มต้นคือ
เท็จ.

--การรักษาความปลอดภัย-opt-
ตัวเลือกการรักษาความปลอดภัย

"label:user:USER" : ตั้งค่าผู้ใช้ป้ายกำกับสำหรับคอนเทนเนอร์
"label:role:ROLE" : ตั้งค่าบทบาทป้ายกำกับสำหรับคอนเทนเนอร์
"label:type:TYPE" : กำหนดประเภทฉลากสำหรับคอนเทนเนอร์
"label:level:LEVEL" : ตั้งค่าระดับป้ายกำกับสำหรับคอนเทนเนอร์
"label:disable" : ปิดการจำกัดฉลากสำหรับคอนเทนเนอร์

--หยุดสัญญาณ=ซิกเทอร์ม
สัญญาณให้หยุดตู้คอนเทนเนอร์ ค่าเริ่มต้นคือ SIGTERM

--shm-ขนาด= ""
ขนาดของ /dev/shm. รูปแบบคือ .
จำนวน ต้องมากกว่า 0. หน่วยเป็นตัวเลือกและสามารถ b (ไบต์) k (กิโลไบต์)
m(เมกะไบต์) หรือ g (กิกะไบต์).
หากคุณละเว้นหน่วย ระบบจะใช้ไบต์ หากคุณละเว้นขนาดทั้งหมด ระบบ
ใช้ 64m.

--sig-พร็อกซี=จริง|เท็จ
พร็อกซี่รับสัญญาณไปยังกระบวนการ (ไม่ใช่โหมด TTY เท่านั้น) SIGCHLD, SIGSTOP และ
SIGKILL ไม่ใช่พร็อกซี่ ค่าเริ่มต้นคือ จริง.

--หน่วยความจำ-swappiness= ""
ปรับพฤติกรรมการสลับหน่วยความจำของคอนเทนเนอร์ ยอมรับจำนวนเต็มระหว่าง 0 ถึง 100

-t, --tty=จริง|เท็จ
จัดสรร TTY เทียม ค่าเริ่มต้นคือ เท็จ.

เมื่อตั้งค่าเป็น true Docker สามารถจัดสรร pseudo-tty และแนบกับอินพุตมาตรฐานของ any
คอนเทนเนอร์. สามารถใช้ ตัวอย่างเช่น เพื่อเรียกใช้เชลล์แบบโต้ตอบที่ใช้แล้วทิ้ง ดิ
ค่าเริ่มต้นเป็นเท็จ

พื้นที่ -t ตัวเลือกเข้ากันไม่ได้กับการเปลี่ยนเส้นทางของอินพุตมาตรฐานของไคลเอ็นต์นักเทียบท่า

--tmpfs=[] สร้างการเมานต์ tmpfs

เมานต์ระบบไฟล์ชั่วคราว (tmpfs) ติดตั้งในคอนเทนเนอร์ เช่น

$ นักเทียบท่ารัน -d --tmpfs / Tmp:rw,size=787448k,mode=1777 my_image

คำสั่งนี้เมานต์a tmpfs at / Tmp ภายในภาชนะ ตัวเลือกการเมานต์ที่รองรับคือ
เหมือนกับค่าเริ่มต้นของลินุกซ์ ภูเขา ธง หากคุณไม่ได้ระบุตัวเลือกใด ๆ ระบบ
ใช้ตัวเลือกต่อไปนี้: rw,noexec,nosuid,nodev,ขนาด=65536k.

-u, --ผู้ใช้= ""
ตั้งค่าชื่อผู้ใช้หรือ UID ที่ใช้และเลือกชื่อกลุ่มหรือ GID สำหรับที่ระบุ
คำสั่ง

ตัวอย่างต่อไปนี้ใช้ได้ทั้งหมด:
--user [ผู้ใช้ | ผู้ใช้:group | uid | uid:gid | ผู้ใช้:gid | uid: กลุ่ม ]

หากไม่มีอาร์กิวเมนต์นี้ คำสั่งจะถูกรันเป็นรูทในคอนเทนเนอร์

--ulimit-
Ulimit ตัวเลือก

-v|--ปริมาณ[=[[โฮสต์-DIR:]คอนเทนเนอร์-DIR[:ตัวเลือก]]]
สร้างการผูกมัด หากคุณระบุ -v /HOST-DIR:/คอนเทนเนอร์-DIR, นักเทียบท่า
ผูกติด /โฮสต์-DIR ในโฮสต์เพื่อ /คอนเทนเนอร์-DIR ใน Docker
คอนเทนเนอร์. หากละเว้น 'HOST-DIR' นักเทียบท่าจะสร้างใหม่โดยอัตโนมัติ
ปริมาณบนโฮสต์ NS OPTIONS เป็นรายการที่คั่นด้วยจุลภาคและสามารถเป็น:

· [rw|โร]

· [z|Z]

-[r]แชร์แล้ว|[r]ทาส|[r]ส่วนตัว]

พื้นที่ คอนเทนเนอร์-DIR ต้องเป็นทางสัมบูรณ์ เช่น /src/docs. โฮสต์-DIR สามารถเป็นไฟล์
เส้นทางที่แน่นอนหรือ a ชื่อ ค่า. NS ชื่อ ค่าต้องขึ้นต้นด้วยตัวอักษรและตัวเลข
ตามมาด้วย a-z0-9, _ (ขีดล่าง), . (จุด) หรือ - (ยัติภังค์). เส้นทางที่แน่นอนเริ่มต้นด้วย
a / (สแลชไปข้างหน้า).

หากคุณจัดหา a โฮสต์-DIR นั่นคือเส้นทางที่แน่นอน Docker ผูกกับเส้นทางที่คุณ
ระบุ. หากคุณจัดหา a ชื่อ, นักเทียบท่าสร้างไดรฟ์ข้อมูลที่มีชื่อโดยที่ ชื่อ. ตัวอย่างเช่น
คุณสามารถระบุอย่างใดอย่างหนึ่ง /ฟู or foo สำหรับ โฮสต์-DIR ค่า. หากคุณจัดหา /ฟู มูลค่า
นักเทียบท่าสร้างการผูกยึด หากคุณจัดหา foo ข้อกำหนด Docker สร้างชื่อ
ปริมาณ

คุณสามารถระบุได้หลายรายการ -v ตัวเลือกในการติดตั้งการเมานต์ตั้งแต่หนึ่งรายการขึ้นไปในคอนเทนเนอร์ ใช้
เมาท์เดียวกันนี้ในคอนเทนเนอร์อื่น ระบุ --volumes-จาก ตัวเลือกด้วย

คุณสามารถเพิ่ม :ro or :rw ต่อท้ายโวลุ่มเพื่อเมานต์โหมดอ่านอย่างเดียวหรืออ่าน-เขียน
ตามลำดับ ตามค่าเริ่มต้น ไดรฟ์ข้อมูลจะถูกต่อเชื่อมแบบอ่าน-เขียน ดูตัวอย่าง

ระบบการติดฉลากเช่น SELinux ต้องการให้ติดฉลากที่เหมาะสมบนเนื้อหาปริมาณ
ติดตั้งในภาชนะ หากไม่มีฉลาก ระบบรักษาความปลอดภัยอาจป้องกันกระบวนการ
ทำงานภายในคอนเทนเนอร์จากการใช้เนื้อหา ตามค่าเริ่มต้น Docker จะไม่เปลี่ยนแปลง
ป้ายกำกับที่กำหนดโดยระบบปฏิบัติการ

หากต้องการเปลี่ยนป้ายกำกับในบริบทคอนเทนเนอร์ คุณสามารถเพิ่มคำต่อท้ายอย่างใดอย่างหนึ่ง :z or :Z ไปยัง
เมานต์ระดับเสียง คำต่อท้ายเหล่านี้บอกให้ Docker ติดป้ายกำกับไฟล์ใหม่บนไฟล์ที่แชร์
ปริมาณ NS z option บอก Docker ว่าคอนเทนเนอร์สองคอนเทนเนอร์แชร์เนื้อหาโวลุ่ม ในฐานะที่เป็น
ผลลัพธ์ Docker ติดป้ายกำกับเนื้อหาด้วยป้ายกำกับเนื้อหาที่แชร์ อนุญาตให้ใช้ป้ายกำกับปริมาณที่แชร์
คอนเทนเนอร์ทั้งหมดสำหรับอ่าน/เขียนเนื้อหา NS Z ตัวเลือกบอกให้ Docker ติดป้ายกำกับเนื้อหาด้วย
ป้ายกำกับส่วนตัวที่ไม่ได้แชร์ เฉพาะคอนเทนเนอร์ปัจจุบันเท่านั้นที่สามารถใช้ไดรฟ์ข้อมูลส่วนตัว

โดยดีฟอลต์ ผูกวอลุ่มเมานต์คือ ส่วนตัว. นั่นหมายถึงการติดตั้งใด ๆ ที่ทำในคอนเทนเนอร์
จะไม่ปรากฏบนโฮสต์และในทางกลับกัน เราสามารถเปลี่ยนพฤติกรรมนี้ได้โดยการระบุ a
คุณสมบัติการขยายพันธุ์เมานต์ระดับเสียง ทำโวลุ่ม ที่ใช้ร่วมกัน เมานต์ทำภายใต้โวลุ่มนั้น
ภายในคอนเทนเนอร์จะมองเห็นได้บนโฮสต์และในทางกลับกัน ทำโวลุ่ม ทาส ช่วยให้
การแพร่กระจายการเมานต์ทางเดียวเท่านั้นและที่เมาท์เสร็จบนโฮสต์ภายใต้โวลุ่มนั้นจะเป็น
มองเห็นได้ภายในภาชนะแต่ไม่ตรงข้าม

เพื่อควบคุมคุณสมบัติการแพร่กระจายการเมานต์ของไดรฟ์ข้อมูลสามารถใช้ :[r]แชร์, :[r]ทาส or
:[r]ส่วนตัว ธงการขยายพันธุ์ คุณสมบัติการขยายพันธุ์สามารถระบุได้เฉพาะสำหรับการผูกติด
ปริมาณและไม่ใช่สำหรับไดรฟ์ข้อมูลภายในหรือไดรฟ์ข้อมูลที่มีชื่อ เพื่อให้การขยายพันธุ์ทำงาน
จุดเมานต์ต้นทาง (จุดเมานต์ซึ่งติดตั้ง dir ต้นทาง) จะต้องมีสิทธิ์
คุณสมบัติการขยายพันธุ์ สำหรับวอลลุมที่ใช้ร่วมกัน ต้องแชร์จุดเมานต์ต้นทาง และสำหรับ
วอลลุมสเลฟ การเมานต์ซอร์สจะต้องแชร์หรือสเลฟ

ใช้ df เพื่อหาแหล่งเมานต์แล้วใช้ ค้นหา -o
เป้าหมาย การขยายพันธุ์ เพื่อหาคุณสมบัติการขยายพันธุ์ของแหล่งกำเนิด
เมานต์ ถ้า ค้นหา ยูทิลิตี้ไม่พร้อมใช้งาน คุณสามารถดูรายการเมานต์สำหรับแหล่งที่มา
จุดติดตั้งใน /proc/self/mountinfo. ดูที่ ไม่จำเป็น ทุ่ง และดูว่ามีการขยายพันธุ์หรือไม่
มีการระบุคุณสมบัติ ใช้ร่วมกัน:X หมายถึงภูเขาคือ ที่ใช้ร่วมกัน, มาสเตอร์:X หมายถึงภูเขาคือ ทาส
และถ้าไม่มีอะไรแสดงว่าภูเขาอยู่ ส่วนตัว.

หากต้องการเปลี่ยนคุณสมบัติการขยายพันธุ์ของจุดเชื่อมต่อให้ใช้ ภูเขา สั่งการ. ตัวอย่างเช่น ถ้าหนึ่ง
ต้องการผูกไดเรกทอรีต้นทางเมานต์ /ฟู ทำได้ ภูเขา --ผูก /ฟู /ฟู และ ภูเขา
--ทำให้-ส่วนตัว --สร้าง-แบ่งปัน /ฟู. สิ่งนี้จะแปลง /foo เป็น a ที่ใช้ร่วมกัน จุดเมานท์
อีกทางหนึ่งสามารถเปลี่ยนคุณสมบัติการขยายพันธุ์ของการเมาต์ต้นทางได้โดยตรง พูด / is
แหล่งเมานต์สำหรับ /ฟูจากนั้นใช้ ภูเขา --สร้าง-แบ่งปัน / เพื่อแปลง / ลง ที่ใช้ร่วมกัน เมานต์

หมายเหตุ: เมื่อใช้ systemd เพื่อจัดการการเริ่มต้นและหยุดของ Docker daemon ใน
ไฟล์หน่วย systemd มีตัวเลือกในการควบคุมการแพร่กระจายการเมานต์สำหรับ Docker
ภูตตัวเองเรียกว่า เมานต์แฟล็กส์. ค่าของการตั้งค่านี้อาจทำให้ Docker ไม่
ดูการเปลี่ยนแปลงการขยายพันธุ์บนจุดต่อเชื่อม ตัวอย่างเช่น ถ้าค่านี้
is ทาส, คุณอาจไม่สามารถใช้ . ได้ ที่ใช้ร่วมกัน or แชร์ การขยายพันธุ์ในปริมาณ

--ปริมาณไดรเวอร์= ""
โปรแกรมควบคุมระดับเสียงของคอนเทนเนอร์ ไดรเวอร์นี้สร้างไดรฟ์ข้อมูลที่ระบุทั้งจาก
ของ Dockerfile VOLUME คำสั่งหรือจาก นักเทียบท่า วิ่ง -v ธง.
ดู นักเทียบท่า-volume-create(1) สำหรับรายละเอียด

--volumes-จาก-
เมาต์โวลุ่มจากคอนเทนเนอร์ที่ระบุ

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

ตามค่าเริ่มต้น Docker จะเมานต์โวลุ่มในโหมดเดียวกัน (อ่าน-เขียน หรือ
อ่านอย่างเดียว) ตามที่ติดตั้งในคอนเทนเนอร์ต้นทาง คุณ
สามารถเปลี่ยนแปลงสิ่งนี้ได้โดยการต่อท้ายรหัสคอนเทนเนอร์ด้วย :ro or
:rw คำสำคัญ.

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

-w, --ผบ= ""
ไดเร็กทอรีการทำงานภายในคอนเทนเนอร์

ไดเร็กทอรีการทำงานเริ่มต้นสำหรับการรันไบนารีภายในคอนเทนเนอร์คือ root
ไดเร็กทอรี (/) นักพัฒนาสามารถตั้งค่าเริ่มต้นที่แตกต่างกันด้วย Dockerfile WORKDIR
คำแนะนำ. ตัวดำเนินการสามารถแทนที่ไดเร็กทอรีการทำงานโดยใช้ -w ตัวเลือก

ทางออก Status


รหัสทางออกจาก นักเทียบท่า วิ่ง ให้ข้อมูลเกี่ยวกับสาเหตุที่คอนเทนเนอร์ไม่ทำงานหรือ
ทำไมมันออก เมื่อไหร่ นักเทียบท่า วิ่ง ออกด้วยรหัสที่ไม่ใช่ศูนย์ รหัสออกตาม
โครต มาตรฐาน ดูด้านล่าง:

125 if ความผิดพลาด is กับ นักเทียบท่า ภูต ตัวเอง

$ docker run --foo busybox; เสียงสะท้อน $?
# ตั้งค่าสถานะ แต่ไม่ได้กำหนด: --foo
ดู 'การเรียกใช้นักเทียบท่า --help'
125

126 if ที่มีอยู่ คำสั่ง ไม่ได้ be เรียก

$ นักเทียบท่าเรียกใช้ busybox / ฯลฯ; เสียงสะท้อน $?
# ผู้บริหาร: "/ ฯลฯ": ปฏิเสธการอนุญาต
นักเทียบท่า: การตอบสนองข้อผิดพลาดจาก daemon: ไม่สามารถเรียกใช้คำสั่งที่มีได้
126

127 if ที่มีอยู่ คำสั่ง ไม่ได้ be พบ

$ docker เรียกใช้ busybox foo; เสียงสะท้อน $?
# exec: "foo": ไม่พบไฟล์ปฏิบัติการใน $PATH
นักเทียบท่า: การตอบสนองข้อผิดพลาดจาก daemon: ไม่พบคำสั่งที่มีหรือไม่มีอยู่
127

ทางออก รหัส of ที่มีอยู่ คำสั่ง มิฉะนั้น

$ นักเทียบท่าเรียกใช้ busybox bin / sh / -c 'ทางออก 3'
# 3

ตัวอย่าง


เล่น ภาชนะ in อ่านอย่างเดียว โหมด


ในระหว่างการพัฒนาอิมเมจคอนเทนเนอร์ คอนเทนเนอร์มักจะต้องเขียนไปยังเนื้อหาอิมเมจ
การติดตั้งแพ็คเกจลงใน / usr, ตัวอย่างเช่น. ในการผลิต แอปพลิเคชันแทบไม่ต้อง
เขียนไปที่ภาพ แอปพลิเคชันคอนเทนเนอร์เขียนถึงวอลุ่มหากจำเป็นต้องเขียนไปยังไฟล์
ระบบเลย แอปพลิเคชันสามารถทำให้ปลอดภัยมากขึ้นโดยเรียกใช้ในโหมดอ่านอย่างเดียว
โดยใช้สวิตช์ --read-only สิ่งนี้จะป้องกันอิมเมจคอนเทนเนอร์จากการดัดแปลง อ่าน
เฉพาะคอนเทนเนอร์เท่านั้นที่อาจยังต้องเขียนข้อมูลชั่วคราว วิธีรับมือที่ดีที่สุดคือ
เมานต์ไดเรกทอรี tmpfs บน / วิ่ง และ /tmp.

# นักเทียบท่าทำงาน -- อ่านอย่างเดียว --tmpfs / วิ่ง --tmpfs / Tmp -i -t fedora / bin / bash

การเปิดเผย เข้าสู่ระบบ ข้อความ ราคาเริ่มต้นที่ ภาชนะ ไปยัง เจ้าภาพ เข้าสู่ระบบ


หากคุณต้องการให้ข้อความที่เข้าสู่ระบบในคอนเทนเนอร์ของคุณแสดงในโฮสต์
syslog/journal คุณควรผูกเมาต์ไดเร็กทอรี /dev/log ดังนี้

# นักเทียบท่า run -v /dev/log:/dev/log -i -t fedora / bin / bash

จากภายในคอนเทนเนอร์ คุณสามารถทดสอบสิ่งนี้ได้โดยการส่งข้อความไปยังบันทึก

(ทุบตี) # คนตัดไม้ "สวัสดีจากคอนเทนเนอร์ของฉัน"

จากนั้นออกและตรวจสอบวารสาร

# exit

# journalctl -b | grep สวัสดี

นี่ควรแสดงรายการข้อความที่ส่งไปยังคนตัดไม้

การแนบ ไปยัง หนึ่ง or ข้อมูลเพิ่มเติม ราคาเริ่มต้นที่ มาตรฐาน STDOUT, สแตเดอร์


หากคุณไม่ระบุ -a นักเทียบท่าจะแนบทุกอย่าง (stdin,stdout,stderr) ที่คุณต้องการ
ชอบที่จะเชื่อมต่อแทนเช่นใน:

# นักเทียบท่ารัน -a stdin -a stdout -i -t fedora / bin / bash

ใช้งานร่วมกัน IPC ระหว่าง ตู้คอนเทนเนอร์


ใช้ shm_server.c ได้ที่นี่: ⟨https://www.cs.cf.ac.uk/Dave/C/node27.html⟩

การทดสอบ --ipc=โฮสต์ โหมด:

โฮสต์แสดงเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันโดยแนบ 7 pid โดยเกิดขึ้นจาก httpd:

$ sudo ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch
0x01128e25 0 ราก 600 1000 7

ตอนนี้เรียกใช้คอนเทนเนอร์ปกติ และไม่เห็นเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันอย่างถูกต้องจาก
โฮสต์:

$ นักเทียบท่าเรียกใช้ -it shm ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch

เรียกใช้คอนเทนเนอร์ด้วย new --ipc=โฮสต์ ตัวเลือกและตอนนี้เห็นส่วนหน่วยความจำที่ใช้ร่วมกัน
จากโฮสต์ httpd:

$ นักเทียบท่ารัน -it --ipc=host shm ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch
0x01128e25 0 ราก 600 1000 7

การทดสอบ --ipc=คอนเทนเนอร์:CONTAINERID โหมด:

เริ่มคอนเทนเนอร์ด้วยโปรแกรมเพื่อสร้างเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกัน:

$ docker run -it shm ทุบตี
$ sudo shm/shm_server
$ sudo ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch
0x0000162e 0 ราก 666 27 1

สร้างคอนเทนเนอร์ที่ 2 อย่างถูกต้องไม่แสดงเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันจากคอนเทนเนอร์ที่ 1:

$ นักเทียบท่าเรียกใช้ shm ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch

สร้างคอนเทนเนอร์ที่ 3 โดยใช้ตัวเลือก --ipc=container:CONTAINERID ใหม่ ตอนนี้จะแสดง
ส่วนหน่วยความจำที่ใช้ร่วมกันตั้งแต่แรก:

$ นักเทียบท่ารัน -it --ipc=container:ed735b2264ac shm ipcs -m
$ sudo ipcs -m

------ กลุ่มหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตไบต์สถานะ nattch
0x0000162e 0 ราก 666 27 1

การเชื่อมโยง ภาชนะบรรจุ


หมายเหตุ: ส่วนนี้อธิบายการเชื่อมโยงระหว่างคอนเทนเนอร์บนค่าเริ่มต้น (บริดจ์)
เครือข่าย หรือที่เรียกว่า "ลิงก์เดิม" โดยใช้ --ลิงค์ บนเครือข่ายที่ผู้ใช้กำหนดใช้
การค้นพบบน DNS ซึ่งไม่ได้เพิ่มรายการลงใน / etc / hostsและไม่ได้ตั้งค่า
ตัวแปรสภาพแวดล้อมสำหรับการค้นพบ

คุณลักษณะลิงก์ช่วยให้คอนเทนเนอร์หลายตัวสามารถสื่อสารกันได้ ตัวอย่างเช่น
คอนเทนเนอร์ที่ Dockerfile เปิดเผยพอร์ต 80 สามารถเรียกใช้และตั้งชื่อดังนี้:

# นักเทียบท่าเรียกใช้ --name=link-test -d -i -t fedora/httpd

คอนเทนเนอร์ที่สอง ซึ่งในกรณีนี้เรียกว่า linker สามารถสื่อสารกับคอนเทนเนอร์ httpd
ชื่อ link-test โดยรันด้วย the --link= :

# นักเทียบท่า run -t -i --link=link-test:lt --name=linker fedora / bin / bash

ตอนนี้ตัวเชื่อมโยงคอนเทนเนอร์เชื่อมโยงกับการทดสอบการเชื่อมโยงคอนเทนเนอร์ด้วยนามแฝง lt. วิ่ง
env คำสั่งในคอนเทนเนอร์ลิงเกอร์แสดงตัวแปรสภาพแวดล้อม
ด้วยบริบท LT (นามแฝง) (LT_)

#สิ่งแวดล้อม
ชื่อโฮสต์=668231cb0978
TERM=xเทอม
LT_PORT_80_TCP=tcp://172.17.0.3:80
LT_PORT_80_TCP_PORT=80
LT_PORT_80_TCP_PROTO=tcp
LT_PORT=tcp://172.17.0.3:80
เส้นทาง=/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin
คนพิการ=/
LT_NAME=/ตัวเชื่อมโยง/lt
SHLVL=1
หน้าแรก=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/usr/bin/env

เมื่อเชื่อมโยงสองคอนเทนเนอร์ Docker จะใช้พอร์ตที่เปิดเผยของคอนเทนเนอร์เพื่อสร้าง a
อุโมงค์ที่ปลอดภัยสำหรับผู้ปกครองในการเข้าถึง

หากคอนเทนเนอร์เชื่อมต่อกับเครือข่ายบริดจ์เริ่มต้นและ ที่เชื่อมโยง กับคนอื่น
ตู้คอนเทนเนอร์ แล้วก็คอนเทนเนอร์ของ / etc / hosts ไฟล์ถูกอัปเดตด้วยคอนเทนเนอร์ที่เชื่อมโยง
ชื่อ

หมายเหตุ เนื่องจากนักเทียบท่าอาจอัปเดตคอนเทนเนอร์ / etc / hosts ไฟล์อาจจะมี
สถานการณ์ที่กระบวนการภายในคอนเทนเนอร์สามารถอ่านค่าว่างหรือ
ไม่สมบูรณ์ / etc / hosts ไฟล์. ในกรณีส่วนใหญ่ การลองอ่านใหม่อีกครั้งควรแก้ไข
ปัญหา

การทำแผนที่ พอร์ต for ภายนอก การใช้


พอร์ตที่เปิดเผยของแอปพลิเคชันสามารถจับคู่กับพอร์ตโฮสต์โดยใช้ -p ธง. สำหรับ
ตัวอย่าง พอร์ต httpd 80 สามารถจับคู่กับพอร์ตโฮสต์ 8080 โดยใช้สิ่งต่อไปนี้:

# นักเทียบท่าวิ่ง -p 8080:80 -d -i -t fedora/httpd

การสร้าง และ การติด a ข้อมูล ปริมาณ ภาชนะ


แอปพลิเคชันจำนวนมากต้องการการแบ่งปันข้อมูลแบบถาวรในคอนเทนเนอร์ต่างๆ นักเทียบท่า
ให้คุณสร้าง Data Volume Container ที่คอนเทนเนอร์อื่นสามารถติดตั้งได้ สำหรับ
ตัวอย่าง สร้างคอนเทนเนอร์ที่มีชื่อซึ่งมีไดเร็กทอรี /var/volume1 และ /tmp/volume2
รูปภาพจะต้องมีไดเร็กทอรีเหล่านี้ดังนั้นคำสั่ง RUN mkdir สองสามอัน
อาจจำเป็นสำหรับคุณ ภาพ fedora-data:

# นักเทียบท่าเรียกใช้ --name=data -v /var/volume1 -v /tmp/volume2 -i -t fedora-data จริง
# นักเทียบท่าเรียกใช้ --volumes-from=data --name=fedora-container1 -i -t fedora bash

หลาย --volumes-from พารามิเตอร์จะรวบรวมหลายวอลุ่มข้อมูลจาก multiple
ตู้คอนเทนเนอร์ และเป็นไปได้ที่จะเมานต์โวลุ่มที่มาจากคอนเทนเนอร์ DATA ใน
อีกคอนเทนเนอร์หนึ่งผ่านคอนเทนเนอร์ตัวกลาง fedora-container1 ซึ่งช่วยให้
สรุปแหล่งข้อมูลจริงจากผู้ใช้ข้อมูลนั้น:

# นักเทียบท่าเรียกใช้ --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash

การติด ภายนอก ไดรฟ์


ในการเมาต์ไดเร็กทอรีโฮสต์เป็นโวลุ่มคอนเทนเนอร์ ให้ระบุพาธสัมบูรณ์ไปยัง
ไดเร็กทอรีและพาธสัมบูรณ์สำหรับไดเร็กทอรีคอนเทนเนอร์คั่นด้วยโคลอน:

# นักเทียบท่า run -v /var/db:/data1 -i -t fedora bash

เมื่อใช้ SELinux โปรดทราบว่าโฮสต์ไม่มีความรู้เกี่ยวกับนโยบายคอนเทนเนอร์ SELinux
ดังนั้น ในตัวอย่างข้างต้น หากบังคับใช้นโยบาย SELinux ค่า /var/db ไดเรกทอรีคือ
ไม่สามารถเขียนลงในคอนเทนเนอร์ได้ ข้อความ "ถูกปฏิเสธการอนุญาต" จะเกิดขึ้นและ avc:
ข้อความใน syslog ของโฮสต์

เพื่อแก้ไขปัญหานี้ ในขณะที่เขียน man page นี้ คำสั่งต่อไปนี้จะต้องเป็น
ทำงานเพื่อให้ติดป้ายกำกับประเภทนโยบาย SELinux ที่เหมาะสมกับโฮสต์
ไดเรกทอรี:

# chcon -Rt svirt_sandbox_file_t /var/db

ตอนนี้ การเขียนไปยังโวลุ่ม /data1 ในคอนเทนเนอร์จะได้รับอนุญาตและการเปลี่ยนแปลงจะ
ยังสะท้อนบนโฮสต์ใน /var/db

การใช้ ทางเลือก ความปลอดภัย การติดฉลาก


คุณสามารถแทนที่รูปแบบการติดฉลากเริ่มต้นสำหรับแต่ละคอนเทนเนอร์ได้โดยการระบุ
--การรักษาความปลอดภัย-opt ธง. ตัวอย่างเช่น คุณสามารถระบุระดับ MCS/MLS ซึ่งเป็นข้อกำหนดสำหรับ MLS
ระบบต่างๆ การระบุระดับในคำสั่งต่อไปนี้ทำให้คุณสามารถแชร์ระดับเดียวกันได้
เนื้อหาระหว่างภาชนะ

# docker run --security-opt label:level:s0:c100,c200 -i -t fedora bash

ตัวอย่าง MLS อาจเป็น:

# นักเทียบท่าเรียกใช้ --security-opt label:level:TopSecret -i -t rhel7 bash

ในการปิดใช้งานการติดฉลากความปลอดภัยสำหรับคอนเทนเนอร์นี้กับการทำงานกับ --อนุญาต
ธง ใช้คำสั่งต่อไปนี้:

# docker run --security-opt label:disable -i -t fedora bash

หากคุณต้องการนโยบายความปลอดภัยที่เข้มงวดมากขึ้นในกระบวนการภายในคอนเทนเนอร์ คุณสามารถระบุ
ชนิดอื่นสำหรับคอนเทนเนอร์ คุณสามารถเรียกใช้คอนเทนเนอร์ที่ได้รับอนุญาตเท่านั้น
ฟังบนพอร์ต Apache โดยดำเนินการคำสั่งต่อไปนี้:

# นักเทียบท่าเรียกใช้ --security-opt label:type:svirt_apache_t -i -t centos bash

หมายเหตุ

คุณจะต้องเขียนนโยบายที่กำหนด a svirt_apache_t ชนิด

การตั้งค่า เครื่อง น้ำหนัก


หากคุณต้องการตั้งค่า / dev / SDA น้ำหนักเครื่องถึง 200, คุณสามารถระบุน้ำหนักเครื่องโดย
--blkio-น้ำหนักอุปกรณ์ ธง. ใช้คำสั่งต่อไปนี้:

# นักเทียบท่า run -it --blkio-weight-device "/dev/sda:200" ubuntu

ระบุ ความเหงา เทคโนโลยี for ภาชนะ (--การแยกตัว)


ตัวเลือกนี้มีประโยชน์ในสถานการณ์ที่คุณใช้งานคอนเทนเนอร์ Docker บน Microsoft
วินโดว์. ดิ --การแยกตัว ตัวเลือกกำหนดเทคโนโลยีการแยกของคอนเทนเนอร์ บนลินุกซ์
รองรับอย่างเดียวคือ ผิดนัด ตัวเลือกที่ใช้เนมสเปซ Linux สองคำสั่งนี้
เทียบเท่ากับ Linux:

$ docker run -d busybox ด้านบน
$ docker run -d --isolation เริ่มต้น busybox top

บน Microsoft Windows สามารถรับค่าใดค่าหนึ่งเหล่านี้:

· ผิดนัด: ใช้ค่าที่ระบุโดย Docker daemon's --exec-เลือก . หาก ภูต ทำ
ไม่ได้ระบุเทคโนโลยีการแยก Microsoft Windows ใช้ กระบวนการ เป็นค่าเริ่มต้น
มูลค่า

· กระบวนการ: การแยกเนมสเปซเท่านั้น

· ไฮเปอร์โว: การแยกตามพาร์ติชั่นไฮเปอร์ไวเซอร์ Hyper-V

ในทางปฏิบัติ เมื่อใช้งานบน Microsoft Windows โดยไม่มี a ภูต ชุดตัวเลือกสองตัวนี้
คำสั่งเทียบเท่า:

$ docker run -d --isolation เริ่มต้น busybox top
$ docker run -d -- กระบวนการแยก busybox top

หากคุณได้ตั้งค่า --exec-เลือก การแยก = hyperv ตัวเลือกบน Docker ภูต, ใดๆ เหล่านี้
คำสั่งยังส่งผลให้ ไฮเปอร์โว การแยกตัว:

$ docker run -d --isolation เริ่มต้น busybox top
$ docker run -d --isolation hyperv busybox ด้านบน

ประวัติ


เมษายน 2014 เรียบเรียงโดย William Henry (whyry at redhat dot com) ตาม
docker.com แหล่งข้อมูลและงานภายใน มิถุนายน 2014 ปรับปรุงโดย Sven Dowideit
[ป้องกันอีเมล]⟩ กรกฎาคม 2014 ปรับปรุงโดย Sven Dowideit ⟨[ป้องกันอีเมล]
พฤศจิกายน 2015 ปรับปรุงโดย Sally O'Malley ⟨[ป้องกันอีเมล]

ใช้นักเทียบท่าออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    เฟซแทร็กนัวร์
    เฟซแทร็กนัวร์
    โปรแกรม headtracking แบบโมดูลาร์นั้น
    รองรับตัวติดตามใบหน้าและตัวกรองหลายตัว
    และเกมโปรโตคอล ในบรรดาผู้ติดตาม
    คือ SM FaceAPI, AIC Inertial Head
    ติดตาม ...
    ดาวน์โหลด facetracknoir
  • 2
    PHP คิวอาร์โค้ด
    PHP คิวอาร์โค้ด
    PHP QR Code เป็นโอเพ่นซอร์ส (LGPL)
    ห้องสมุดสำหรับสร้างรหัส QR,
    บาร์โค้ด 2 มิติ ขึ้นอยู่กับ
    ไลบรารี libqrencode C จัดเตรียม API สำหรับ
    การสร้างบาร์โค้ด QR Code...
    ดาวน์โหลด PHP QR Code
  • 3
    freeciv
    freeciv
    Freeciv เป็นเกมเทิร์นเบสฟรี
    เกมกลยุทธ์แบบผู้เล่นหลายคนซึ่งในแต่ละ
    ผู้เล่นกลายเป็นผู้นำของa
    อารยธรรมต่อสู้เพื่อให้ได้
    เป้าหมายสูงสุด : เป็น...
    ดาวน์โหลด Freeciv
  • 4
    แซนด์บ็อกซ์นกกาเหว่า
    แซนด์บ็อกซ์นกกาเหว่า
    Cuckoo Sandbox ใช้ส่วนประกอบเพื่อ
    ตรวจสอบพฤติกรรมของมัลแวร์ใน
    สภาพแวดล้อมแบบแซนด์บ็อกซ์ แยกได้จาก
    ส่วนที่เหลือของระบบ ให้บริการแบบอัตโนมัติ
    วิเคราะห์เ...
    ดาวน์โหลด Cuckoo Sandbox
  • 5
    LMS-YouTube
    LMS-YouTube
    เล่นวิดีโอ YouTube บน LMS (พอร์ตของ
    Triode ของ YouTbe API v3) นี่คือ
    แอปพลิเคชันที่สามารถดึงข้อมูลได้
    ราคาเริ่มต้นที่
    https://sourceforge.net/projects/lms-y...
    ดาวน์โหลด LMS-YouTube
  • 6
    มูลนิธิการนำเสนอ Windows
    มูลนิธิการนำเสนอ Windows
    มูลนิธิการนำเสนอ Windows (WPF)
    เป็นเฟรมเวิร์ก UI สำหรับสร้าง Windows
    แอปพลิเคชันเดสก์ท็อป WPF รองรับ a
    การพัฒนาแอพพลิเคชั่นในวงกว้าง
    คุณสมบัติ ...
    ดาวน์โหลด Windows Presentation Foundation
  • เพิ่มเติม»

คำสั่ง Linux

Ad