คำถามติดแท็ก docker

นักเทียบท่าเป็นเครื่องมือในการสร้างและเรียกใช้ภาชนะบรรจุ คำถามเกี่ยวกับนักเทียบท่าการปฏิบัติการและสถาปัตยกรรมเป็นที่ยอมรับ คำถามเกี่ยวกับการใช้งานนักเทียบท่าในการผลิตอาจพบการตอบสนองที่ดีขึ้นใน ServerFault (https://serverfault.com/) แท็กนักเทียบท่าไม่ค่อยได้ใช้คนเดียวและมักจะจับคู่กับแท็กอื่น ๆ เช่นนักแต่งและนักแต่งเพลง

19
มีวิธีลบรูปภาพใน Docker อย่างไร
ฉันใช้นักเทียบท่าภายใต้ Vagrant ภายใต้ OS X 10.8.4 (Mountain Lion) และทุกครั้งที่ฉันพยายามลบภาพที่บันทึกไว้ฉันได้รับข้อผิดพลาด: $ docker rmi some-image-id 2013/07/15 hh:mm:ss unexpected JSON input ตามความrmiช่วยเหลือไวยากรณ์ที่เหมาะสมคือdocker rmi IMAGE [IMAGE...]และฉันไม่แน่ใจว่าจะทำอย่างไร ฉันจะลบภาพได้อย่างไร $ docker version Client version: 0.4.8 Server version: 0.4.8 Go version: go1.1 $docker info Containers: 1 Images: 3 ที่น่าสนใจเมื่อฉันวิ่งdocker psไม่มีตู้คอนเทนเนอร์ปรากฏขึ้นเลย การวิ่งdocker imagesแสดงภาพสี่ (4) baseภาพและภาพหนึ่ง (1) nodeภาพ
840 docker 

12
ฉันจะส่งตัวแปรสภาพแวดล้อมไปยังคอนเทนเนอร์ Docker ได้อย่างไร
ฉันใหม่สำหรับนักเทียบท่าและมันไม่ชัดเจนว่าจะเข้าถึงฐานข้อมูลภายนอกจากคอนเทนเนอร์ได้อย่างไร เป็นวิธีที่ดีที่สุดในรหัสยากในสตริงการเชื่อมต่อ? # Dockerfile ENV DATABASE_URL amazon:rds/connection?string

8
วิธีการบังคับนักเทียบท่าสำหรับโครงสร้างที่สะอาดของรูปภาพ
ฉันสร้างภาพนักเทียบท่าจากไฟล์นักเทียบท่าโดยใช้คำสั่งด้านล่าง $ docker build -t u12_core -f u12_core . เมื่อฉันพยายามที่จะสร้างมันใหม่ด้วยคำสั่งเดียวกันก็ใช้การสร้างแคชเช่น: Step 1 : FROM ubuntu:12.04 ---> eb965dfb09d2 Step 2 : MAINTAINER Pavan Gupta <pavan.gupta@gmail.com> ---> Using cache ---> 4354ccf9dcd8 Step 3 : RUN apt-get update ---> Using cache ---> bcbca2fcf204 Step 4 : RUN apt-get install -y openjdk-7-jdk ---> Using …
814 docker  aerospike 

25
วิธีลบอิมเมจ Docker แบบเก่าและที่ไม่ได้ใช้
เมื่อรัน Docker เป็นเวลานานระบบจะมีรูปภาพจำนวนมาก ฉันจะลบรูปภาพ Docker ที่ไม่ได้ใช้ทั้งหมดในคราวเดียวเพื่อความปลอดภัยเพื่อเพิ่มพื้นที่จัดเก็บได้อย่างไร TAGนอกจากนี้ผมยังต้องการที่จะลบภาพดึงเดือนที่ผ่านมาซึ่งมีความถูกต้อง ดังนั้นฉันไม่ได้ขอให้ลบภาพที่ไม่ได้ติดแท็กเท่านั้น ฉันมองหาวิธีที่จะลบภาพที่ไม่ได้ใช้ทั่วไปซึ่งรวมทั้งการติดแท็กและอื่น ๆ TAGที่ภาพดังกล่าวเป็นเดือนที่ผ่านมากับดึงที่ถูกต้อง

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

24
วิธีเมาท์ไดเร็กทอรีโฮสต์ในคอนเทนเนอร์ Docker
ฉันกำลังพยายามติดตั้งไดเรกทอรีโฮสต์ลงในคอนเทนเนอร์ Docker เพื่อให้การอัปเดตใด ๆ ที่ทำในโฮสต์นั้นสะท้อนไปยังคอนเทนเนอร์ Docker ฉันทำอะไรผิดไป นี่คือสิ่งที่ฉันทำ: kishore$ cat Dockerfile FROM ubuntu:trusty RUN apt-get update RUN apt-get -y install git curl vim CMD ["/bin/bash"] WORKDIR /test_container VOLUME ["/test_container"] kishore$ tree . ├── Dockerfile └── main_folder ├── tfile1.txt ├── tfile2.txt ├── tfile3.txt └── tfile4.txt 1 directory, 5 files kishore$ pwd …

11
เรียกใช้อิมเมจ Docker เป็นคอนเทนเนอร์
ฉันสร้างภาพนักเทียบท่าจาก dockerfile ฉันเห็นภาพถูกสร้างเรียบร้อยแล้ว แต่ฉันจะทำอย่างไรกับมัน? มันจะไม่สามารถเรียกใช้เป็นคอนเทนเนอร์ได้หรือไม่

6
นักเทียบท่าวิธีการเปลี่ยนชื่อที่เก็บหรือเปลี่ยนชื่อภาพ?
ฉันพยายามเปลี่ยนชื่อที่เก็บรูปภาพ: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE server latest d583c3ac45fd 26 minutes ago 685.5 MB ดังนั้นฉันต้องการเปลี่ยนชื่อserverเป็นmyname/serverดังนี้: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myname/server latest d583c3ac45fd 26 minutes ago 685.5 MB ฉันจะทำสิ่งนี้ได้อย่างไร

11
วิธีป้อนในคอนเทนเนอร์ Docker ที่ใช้งาน TTY ใหม่อยู่แล้ว
ฉันมีคอนเทนเนอร์ที่ใช้งานบริการ Apache อยู่เบื้องหน้า ฉันต้องการที่จะสามารถเข้าถึงคอนเทนเนอร์จากเปลือกอื่นเพื่อ "โผล่ไปรอบ ๆ " ข้างในและตรวจสอบไฟล์ ในตอนนี้ถ้าฉันแนบกับคอนเทนเนอร์ฉันก็ยังคงดู Apache daemon และไม่สามารถเรียกใช้คำสั่งใด ๆ เป็นไปได้หรือไม่ที่จะแนบ tty อื่นกับคอนเทนเนอร์ที่รันอยู่? อาจเป็นไปได้ว่าฉันสามารถใช้ประโยชน์จากข้อเท็จจริงที่ว่านักเทียบท่าเป็นเพียงห่อรอบภาชนะ LXC? ฉันลองแล้วsudo lxc-console -n [container-id] -t [1-4]แต่ดูเหมือนว่ามีเพียง tty เดียวเท่านั้นที่ใช้ได้และนั่นคืออันที่ใช้ apache daemon อาจมีวิธีการเปิดใช้งานคอนโซล lxc หลายตัวในระหว่างการสร้างหรือไม่ ฉันไม่ต้องการกำหนดค่าและสร้างคอนเทนเนอร์ด้วยบริการ openssh ถ้าเป็นไปได้
545 docker  tty 

13
วิธีอัปเกรดคอนเทนเนอร์นักเทียบท่าหลังจากเปลี่ยนรูปภาพ
สมมติว่าผมได้ดึงอย่างเป็นทางการMySQL: 5.6.21 ภาพ ฉันปรับใช้ภาพนี้ด้วยการสร้างคอนเทนเนอร์ docker หลายตัว คอนเทนเนอร์เหล่านี้ทำงานเป็นระยะเวลาหนึ่งจนกว่าจะมีการเปิดตัว MySQL 5.6.22 รูปภาพอย่างเป็นทางการของ mysql: 5.6 ได้รับการปรับปรุงด้วยการเปิดตัวใหม่ แต่คอนเทนเนอร์ของฉันยังคงทำงาน 5.6.21 ฉันจะเผยแพร่การเปลี่ยนแปลงในภาพ (เช่นอัพเกรด MySQL distro) ไปยังคอนเทนเนอร์ที่มีอยู่ทั้งหมดได้อย่างไร อะไรคือวิธีที่เหมาะสมในการทำสิ่งนี้?
518 docker 

16
ฉันจะแก้ไขไฟล์หลังจากเปลือกไปยังคอนเทนเนอร์ Docker ได้อย่างไร
ฉันได้ทำการ shelled ไปยังคอนเทนเนอร์ Docker สำเร็จแล้วโดยใช้: docker exec -i -t 69f1711a205e bash ตอนนี้ฉันต้องการแก้ไขไฟล์และฉันไม่มีบรรณาธิการอยู่: root@69f1711a205e:/# nano bash: nano: command not found root@69f1711a205e:/# pico bash: pico: command not found root@69f1711a205e:/# vi bash: vi: command not found root@69f1711a205e:/# vim bash: vim: command not found root@69f1711a205e:/# emacs bash: emacs: command not found root@69f1711a205e:/# ฉันจะแก้ไขไฟล์ได้อย่างไร
518 docker 

6
ความแตกต่างระหว่าง "เปิดเผย" และ "เผยแพร่" ใน Docker คืออะไร
ฉันกำลังทดลองกับ Dockerfiles และฉันคิดว่าฉันเข้าใจเหตุผลส่วนใหญ่ อย่างไรก็ตามฉันไม่เห็นความแตกต่างระหว่าง "การเปิดเผย" และ "การเผยแพร่" พอร์ตในบริบทนี้ บทเรียนทั้งหมดที่ฉันได้เห็นก่อนรวมถึงEXPOSEคำสั่งใน Dockerfile: ... EXPOSE 8080 ... จากนั้นพวกเขาสร้างภาพจาก Dockerfile นี้: $ docker build -t an_image - < Dockerfile จากนั้นเผยแพร่พอร์ตเดียวกันกับด้านบนเมื่อเรียกใช้รูปภาพ: $ docker run -d -p 8080 an_image หรือเผยแพร่พอร์ตทั้งหมดโดยใช้ $ docker run -d -P an_image จุดประสงค์ของการเปิดเผยพอร์ตใน Dockerfile คืออะไรถ้ามันจะถูกเผยแพร่ต่อไป เคยมีความจำเป็นต้องเปิดเผยพอร์ตก่อนหรือไม่และจะไม่เผยแพร่ในภายหลัง อย่างมีประสิทธิภาพฉันต้องการระบุพอร์ตทั้งหมดที่ฉันจะใช้ใน Dockerfile เมื่อสร้างภาพแล้วไม่ต้องยุ่งกับพวกเขาอีกครั้งโดยใช้พวกเขาเพียงแค่: $ docker run …
517 docker 

3
ประสิทธิภาพการใช้งานจริงของคอนเทนเนอร์ Docker คืออะไร
ฉันต้องการเข้าใจค่าใช้จ่ายการปฏิบัติงานของคอนเทนเนอร์ Docker อย่างครอบคลุม ฉันได้พบการอ้างอิงไปยังเครือข่าย anecdotally เป็น ~ 100μsช้าลง ฉันยังพบการอ้างอิงถึงค่าใช้จ่ายในการดำเนินการเป็น "เล็กน้อย" และ "ใกล้กับศูนย์" แต่ฉันต้องการทราบอย่างแม่นยำมากขึ้นว่าค่าใช้จ่ายเหล่านั้นคืออะไร โดยหลักการแล้วฉันต้องการทราบว่านักเทียบท่าคืออะไรที่เป็นนามธรรมด้วยต้นทุนด้านประสิทธิภาพและสิ่งที่เป็นนามธรรมโดยไม่มีต้นทุนด้านประสิทธิภาพ เครือข่าย, CPU, หน่วยความจำ ฯลฯ นอกจากนี้หากมีค่าใช้จ่ายที่เป็นนามธรรมจะมีวิธีที่จะได้รับรอบค่าใช้จ่ายที่เป็นนามธรรม ตัวอย่างเช่นบางทีฉันสามารถเมานดิสก์ได้โดยตรงเทียบกับใน Docker


19
ฉันจะรันคำสั่งบนคอนเทนเนอร์ Docker ที่มีอยู่แล้วได้อย่างไร
ฉันสร้างคอนเทนเนอร์ด้วย-dดังนั้นจึงไม่สามารถโต้ตอบได้ docker run -d shykes/pybuilder bin/bash ฉันเห็นว่าคอนเทนเนอร์ได้ออก: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d6c45e8cc5f0 shykes/pybuilder:latest "bin/bash" 41 minutes ago Exited (0) 2 seconds ago clever_bardeen ตอนนี้ฉันต้องการเรียกใช้คำสั่งเป็นครั้งคราวบนเครื่องและออก เพียงเพื่อให้ได้คำตอบ ฉันพยายามสตาร์ทเครื่อง ฉันพยายามแนบ ฉันคิดว่าฉันสามารถโทรหาrunตู้คอนเทนเนอร์ได้ แต่ดูเหมือนจะไม่ได้รับอนุญาต ใช้startดูเหมือนว่าจะทำงานแล้วมีอยู่อย่างรวดเร็ว ฉันต้องการกลับสู่โหมดโต้ตอบหลังจากออก ฉันเหนื่อย: docker attach d6c45e8cc5f0 แต่ฉันได้รับ: 2014/10/01 22:33:34 You cannot attach to a stopped container, start …
492 docker 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.