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

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

4
นักเทียบท่าวิ่ง: ทำไมต้องใช้ --rm (นักเทียบท่ามือใหม่)
ฉันกำลังลองเทียบท่าเป็นครั้งแรกและยังไม่มี "แบบจำลองทางจิต" ผู้เริ่มต้นทั้งหมด ตัวอย่างทั้งหมดที่ฉันกำลังดูมี--rmแฟล็กที่จะเรียกใช้เช่น docker run -it --rm ... docker container run -it --rm ... คำถาม: เหตุใดคำสั่งเหล่านี้จึงรวม--rmแฟล็ก ฉันจะคิดว่าถ้าฉันต้องประสบปัญหาในการตั้งค่าหรือดาวน์โหลดคอนเทนเนอร์ที่มีสิ่งดีๆอยู่ในนั้นทำไมจึงต้องลบออก ฉันต้องการเก็บไว้เพื่อใช้อีกครั้ง ดังนั้นฉันรู้ว่าฉันมีความคิดที่ผิดเกี่ยวกับนักเทียบท่า

11
วิธีแสดงคำสั่ง run ของ Docker container
ฉันใช้ GUI ของบุคคลที่สาม (แพ็คเกจ Synology Docker) เพื่อตั้งค่าคอนเทนเนอร์นักเทียบท่า อย่างไรก็ตามข้อ จำกัด ทำให้ฉันต้องเรียกใช้คอนเทนเนอร์จากบรรทัดคำสั่ง (ฉันต้องการแมป ip โฮสต์อื่นเพื่อผูกพอร์ต) ตอนนี้เนื่องจากมีการตั้งค่ามากมายที่ทำไปแล้วฉันต้องการดึงคำสั่ง run ดั้งเดิมที่เริ่มต้นคอนเทนเนอร์นี้จากนั้นฉันสามารถเปลี่ยนพอร์ตการแมปพอร์ตเป็นพอร์ตใหม่ได้ เช่น. " docker run -p 80:8080 gitlab" ฉันหาวิธีทำไม่ได้ใช้เหตุการณ์ "นักเทียบท่าตรวจสอบ" ไม่มีข้อมูลดังกล่าวให้ โปรดให้คำแนะนำเพื่อแก้ปัญหานี้
114 docker 

8
นักเทียบท่า: รูปแบบการอ้างอิงไม่ถูกต้อง
ฉันกำลังติดตามบทช่วยสอนนี้: https://medium.com/towards-data-science/number-plate-detection-with-supervisely-and-tensorflow-part-1-e84c74d4382c และพวกเขาใช้นักเทียบท่า เมื่อฉันพยายามเรียกใช้นักเทียบท่า (ภายในสคริปต์ run.sh): docker run \ -p 8888:8888 -v `pwd`/../src:/src \ -v `pwd`/../data:/data -w /src supervisely_anpr \ --rm \ -it \ bash ฉันได้รับข้อผิดพลาด: docker: invalid reference format. ฉันใช้เวลา 2 ชั่วโมงและฉันไม่เข้าใจจริงๆว่ามีอะไรผิดพลาด ความคิดใด ๆ ที่ชื่นชมจริงๆ
114 docker 

2
หลายจาก - ความหมาย
ฉันต้องการสร้างอิมเมจนักเทียบท่าสำหรับโปรเจ็กต์ Linkuriousบน github ซึ่งต้องใช้ทั้งฐานข้อมูล Neo4j และ Node.js เพื่อรัน แนวทางแรกของฉันคือการประกาศภาพพื้นฐานสำหรับภาพของฉันซึ่งมี Neo4j เอกสารอ้างอิงไม่ได้กำหนด "รูปพื้นฐาน" ในลักษณะที่เป็นประโยชน์ใด ๆ : ภาพฐาน: ภาพที่ไม่มีพาเรนต์เป็นภาพฐาน จากที่ฉันอ่านพบว่าฉันจะมีภาพฐานได้ก็ต่อเมื่อภาพนั้นไม่มีภาพฐาน แต่ภาพฐานคืออะไร? หมายความว่าถ้าฉันประกาศ neo4j / neo4j ในคำสั่ง FROM เมื่อรูปภาพของฉันถูกเรียกใช้ฐานข้อมูลนีโอจะทำงานโดยอัตโนมัติและพร้อมใช้งานภายในคอนเทนเนอร์บนพอร์ต 7474 อ่านข้อมูลอ้างอิง Docker (ดู: https://docs.docker.com/reference/builder/#from ) ฉันเห็น: FROM สามารถปรากฏได้หลายครั้งภายใน Dockerfile เดียวเพื่อสร้างภาพหลายภาพ เพียงจดบันทึกเอาต์พุต ID ภาพสุดท้ายโดยการคอมมิตก่อนคำสั่ง FROM ใหม่แต่ละคำสั่ง ฉันต้องการสร้างภาพหลายภาพหรือไม่? ดูเหมือนว่าสิ่งที่ฉันต้องการคือการมีภาพเดียวที่มีเนื้อหาของภาพอื่น ๆ เช่น neo4j และ node.js ฉันไม่พบคำสั่งในการประกาศการอ้างอิงในคู่มืออ้างอิง …
113 docker  dockerfile 

11
วิธีเปลี่ยนเส้นทางล็อกคอนเทนเนอร์ของนักเทียบท่าไปยังไฟล์เดียว
ฉันต้องการเปลี่ยนเส้นทางบันทึกทั้งหมดของคอนเทนเนอร์นักเทียบท่าของฉันไปยังไฟล์บันทึกเดียวเพื่อวิเคราะห์ ฉันเหนื่อย docker logs container > /tmp/stdout.log 2>/tmp/stderr.log แต่จะให้ล็อกในสองไฟล์ที่แตกต่างกัน ฉันพยายามแล้ว docker logs container > /tmp/stdout.log แต่มันไม่ได้ผล
113 logging  docker 

2
รูปภาพ Docker - ประเภท Slim vs Slim-Stretch vs Stretch เทียบกับ Alpine
ฉันต้องการรับอิมเมจนักเทียบท่าเพื่อสร้างแอพ java และดูรูปแบบต่างๆของอิมเมจ OpenJDK ที่มีอยู่ ฉันกำลังดูที่นี่https://github.com/docker-library/openjdk/tree/master/8/jdkและเห็นอัลไพน์บางเฉียบและหน้าต่าง อะไรคือความแตกต่างระหว่างสิ่งเหล่านี้และแต่ละตัวแปรให้อะไร?
113 java  docker  dockerfile 

8
Docker: Mounts ถูกปฏิเสธ เส้นทาง ... ไม่ได้แชร์จาก OS X และ Docker ไม่รู้จัก
คำสั่งdocker run -v /var/folders/zz/...สร้างข้อผิดพลาดต่อไปนี้ docker: Error response from daemon: Mounts denied: The paths /var/folders/zz/... and /var/folders/zz/... are not shared from OS X and are not known to Docker. You can configure shared paths from Docker -> Preferences... -> File Sharing. เมื่อฉันเปิดการแชร์ไฟล์ฉันเห็นว่า / ส่วนตัวแสดงอยู่แล้ว ถ้าฉันพยายามที่จะเพิ่ม/var/folder/มันจะแก้ไขเป็น/private/var/foldersซึ่งเป็นส่วนย่อยของ / ส่วนตัวและด้วยเหตุนี้การเพิ่มจึงถูกปฏิเสธ โดยสรุปแล้วดูเหมือนว่าฉันจะใช้ไดเร็กทอรีที่/var/folders/..ใช้ร่วมกันโดย OS X เป็นไดเร็กทอรีย่อย/privateและด้วยเหตุนี้ …

3
Dockerfile build - สามารถละเว้นข้อผิดพลาดได้หรือไม่?
ฉันมี Dockerfile เมื่อสร้างอิมเมจบิวด์ล้มเหลวเนื่องจากข้อผิดพลาดนี้: automake: error: no 'Makefile.am' found for any configure output Error build: The command [/bin/sh -c aclocal && autoconf && automake -a] returned a non-zero code: 1 ซึ่งในความเป็นจริงไม่เป็นอันตราย ไลบรารีสร้างได้ดี แต่ Docker หยุดการสร้างเมื่อได้รับข้อผิดพลาดนี้ มีวิธีใดบ้างที่ฉันสามารถสั่งให้ Docker เพิกเฉยต่อสิ่งนี้ได้
112 docker  dockerfile 

4
ฉันจะใช้ตัวแปรภายใน Dockerfile CMD ได้อย่างไร
ภายใน Dockerfile ของฉัน: ENV PROJECTNAME mytestwebsite CMD ["django-admin", "startproject", "$PROJECTNAME"] ข้อผิดพลาด: CommandError: '$PROJECTNAME' is not a valid project name วิธีแก้ปัญหาที่เร็วที่สุดที่นี่คืออะไร? Docker มีแผนที่จะ "แก้ไข" หรือแนะนำฟังก์ชันนี้ใน Docker เวอร์ชันที่ใหม่กว่าหรือไม่ หมายเหตุ: ถ้าฉันลบบรรทัด CMD ออกจากไฟล์ Docker แล้วเรียกใช้คอนเทนเนอร์ Docker ฉันสามารถเรียกใช้ Django-admin startproject $ PROJECTNAME ด้วยตนเองจากภายในคอนเทนเนอร์และมันจะสร้างโครงการ ...
112 docker  dockerfile 

3
จะรู้ได้อย่างไรว่าทำไมคอนเทนเนอร์นักเทียบท่าถึงออก?
ฉันมีคอนเทนเนอร์ Docker ที่ทำงานในโฮสต์ของ RAM 1G (นอกจากนี้ยังมีคอนเทนเนอร์อื่น ๆ ที่ทำงานในโฮสต์เดียวกัน) แอปพลิเคชันในคอนเทนเนอร์ Docker นี้จะถอดรหัสภาพบางส่วนซึ่งอาจใช้หน่วยความจำมาก ในบางครั้งคอนเทนเนอร์นี้จะออก สงสัยเป็นเพราะหน่วยความจำไม่เพียงพอ แต่ไม่ค่อยแน่ใจ ฉันต้องการวิธีค้นหาสาเหตุที่แท้จริง มีวิธีใดบ้างที่จะรู้ว่าเกิดอะไรขึ้นกับการตายของตู้คอนเทนเนอร์นี้?
112 docker  containers  exit 

14
เชื่อมต่อกับ mysql ใน Docker container จากโฮสต์
(อาจเป็นคำถามที่โง่เนื่องจากความรู้ที่ จำกัด ของฉันเกี่ยวกับ Docker หรือการดูแลระบบ mysql แต่เนื่องจากฉันใช้เวลาทั้งเย็นกับปัญหานี้ฉันจึงกล้าที่จะถามมัน) โดยสังเขป ฉันต้องการเรียกใช้ mysql ในคอนเทนเนอร์นักเทียบท่าและเชื่อมต่อจากโฮสต์ของฉัน จนถึงตอนนี้สิ่งที่ดีที่สุดที่ฉันทำได้คือ: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) รายละเอียดเพิ่มเติม ฉันใช้สิ่งต่อไปนี้Dockerfile: FROM ubuntu:14.04.3 RUN apt-get update && apt-get install -y mysql-server # Ensure we won't bind to localhost only RUN grep -v bind-address /etc/mysql/my.cnf …
111 mysql  docker  dockerfile 

3
ฉันจะใช้ตัวแปรสภาพแวดล้อม Docker ในอาร์เรย์ ENTRYPOINT ได้อย่างไร
หากฉันตั้งค่าตัวแปรสภาพแวดล้อมให้พูดENV ADDRESSEE=worldและฉันต้องการใช้ในสคริปต์จุดเริ่มต้นที่เชื่อมต่อกันเป็นสตริงคงที่เช่น: ENTRYPOINT ["./greeting", "--message", "Hello, world!"] ด้วยworldการที่คุณค่าของสิ่งแวดล้อมเปลี่ยนแปลงได้ฉันจะทำอย่างไร? ฉันลองใช้"Hello, $ADDRESSEE"แต่ดูเหมือนจะไม่ได้ผลเพราะต้องใช้$ADDRESSEEตัวอักษร.
111 docker  dockerfile 

11
Docker: คอนเทนเนอร์ยังคงรีสตาร์ทอีกครั้งอีกครั้ง
วันนี้ฉันปรับใช้อินสแตนซ์ของ MediaWiki โดยใช้ appcontainers / mediawiki docker image และตอนนี้ฉันมีปัญหาใหม่ซึ่งฉันไม่พบเบาะแสใด ๆ หลังจากพยายามแนบกับคอนเทนเนอร์ด้านหน้าของมีเดียวิกิโดยใช้: docker attach mediawiki_web_1 คำตอบใดTerminatedในการกำหนดค่าของฉันด้วยเหตุผลที่ฉันเพิกเฉยลอง: docker exec -it mediawiki_web_1 bash ฉันได้รับบางอย่างใกล้กับข้อความแสดงข้อผิดพลาด: Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running และมีปัญหาใหม่ของฉันเพราะคอนเทนเนอร์นี้ไม่เคยหยุดรีสตาร์ท ฉันเห็นได้ว่าการใช้docker ps -aซึ่งส่งคืนสถานะของRestarting (127) x seconds ago. สิ่งนี้คือฉันสามารถหยุดคอนเทนเนอร์ได้ (ฉันทดสอบแล้ว) แต่การเริ่มต้นอีกครั้งดูเหมือนว่าจะนำกลับเข้าสู่ลูปเริ่มต้นใหม่ มีความคิดอะไรที่อาจเป็นปัญหาที่นี่? ทุกอย่างทำงานได้อย่างถูกต้องจนกระทั่งฉันพยายามแนบ ... ฉันกำลังเสียใจ …
111 docker 

11
ฉันจะทำให้คอนเทนเนอร์ Docker เริ่มต้นโดยอัตโนมัติเมื่อบูตระบบได้อย่างไร
สมมติว่าฉันมีคอนเทนเนอร์ Docker ที่ฉันต้องการเรียกใช้ฉันสามารถโทรได้ $ docker run ... และทุกอย่างเรียบร้อยดี มีวิธีในการเรียกใช้คอนเทนเนอร์ในลักษณะที่จะรีสตาร์ทโดยอัตโนมัติหรือไม่หากระบบขัดข้องและรีบูต ถ้าเป็นเช่นนั้นจะมีใน Docker Compose ด้วยหรือไม่

2
วัตถุประสงค์ของ VOLUME ใน Dockerfile คืออะไร
ฉันพยายามทำความเข้าใจเกี่ยวกับระดับเสียงของ Docker ให้ลึกซึ้งยิ่งขึ้นและฉันมีช่วงเวลาที่ยากลำบากในการทำความเข้าใจความแตกต่าง / กรณีการใช้งานของ: docker volume createคำสั่ง docker run -v /path:/host_path VOLUMEรายการในDockerfileแฟ้ม ฉันไม่เข้าใจโดยเฉพาะอย่างยิ่งว่าจะเกิดอะไรขึ้นถ้าคุณรวมVOLUMEรายการเข้ากับ-vธง
110 docker  volume 

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