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

นักเทียบท่าเป็นแอปพลิเคชั่นเพื่อสร้างคอนเทนเนอร์สำหรับแอปพลิเคชัน


5
ไม่สามารถค้นหาแพ็คเกจ `docker-ce` บน 64bit ubuntu
ฉันพยายามที่จะติดตั้งหางบนเครื่อง Ubuntu 64 ต่อไปนี้คู่มือการติดตั้งอย่างเป็นทางการ น่าเสียดายที่ Ubuntu ดูเหมือนจะไม่สามารถค้นหาdocker-ceแพ็คเกจได้ ความคิดที่จะแก้ไขมันหรืออย่างน้อยเพื่อติดตามสิ่งที่เกิดขึ้น? นี่คือรายละเอียดบางอย่างสำหรับคุณ ... $ uname --all; sudo grep docker /etc/apt/sources.list; sudo apt-get install docker-ce Linux ubuntu 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable. # deb-src [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable. Reading package lists... …

4
ส่งต่อ SIGTERM ให้กับเด็กใน Bash
ฉันมี Bash script ซึ่งมีลักษณะคล้ายกับนี้: #!/bin/bash echo "Doing some initial work...."; /bin/start/main/server --nodaemon ตอนนี้ถ้า bash shell ที่เรียกใช้สคริปต์ได้รับสัญญาณ SIGTERM ก็ควรส่ง SIGTERM ไปยังเซิร์ฟเวอร์ที่กำลังรันอยู่ เป็นไปได้ไหม
86 bash  shell  signals  docker 

3
การสร้างเธรดล้มเหลวด้วย“ ทรัพยากรไม่พร้อมใช้งานชั่วคราว” ด้วยเคอร์เนล 4.3
ฉันกำลังเรียกใช้เซิร์ฟเวอร์นักเทียบท่าบน Arch Linux (เคอร์เนล 4.3.3-2) พร้อมคอนเทนเนอร์หลายตัว ตั้งแต่รีบูตครั้งล่าสุดของฉันทั้งเซิร์ฟเวอร์นักเทียบท่าและโปรแกรมแบบสุ่มภายในคอนเทนเนอร์เกิดข้อผิดพลาดพร้อมกับข้อความว่าไม่สามารถสร้างเธรดหรือ (บ่อยกว่า) เพื่อแยก ข้อผิดพลาดที่เฉพาะเจาะจงจะแตกต่างกันขึ้นอยู่กับโปรแกรม Resource temporarily unavailableแต่ส่วนใหญ่ของพวกเขาดูเหมือนจะพูดถึงข้อผิดพลาดที่เฉพาะเจาะจง ดูที่ส่วนท้ายของโพสต์นี้เพื่อดูข้อความแสดงข้อผิดพลาด ขณะนี้มีคนจำนวนมากที่ได้รับข้อความแสดงข้อผิดพลาดนี้และมีคำตอบมากมาย สิ่งที่น่าผิดหวังจริงๆคือทุกคนดูเหมือนจะคาดเดาว่าปัญหาจะสามารถแก้ไขได้อย่างไร แต่ดูเหมือนว่าไม่มีใครที่จะชี้ให้เห็นว่าจะระบุสาเหตุของปัญหาที่อาจเกิดขึ้นได้บ้าง ฉันได้รวบรวมสาเหตุที่เป็นไปได้ 5 ข้อสำหรับข้อผิดพลาดและวิธีการตรวจสอบว่าไม่มีอยู่ในระบบของฉัน: มีข้อ จำกัด ทั้งระบบเกี่ยวกับจำนวนเธรดที่กำหนดค่าใน/proc/sys/kernel/threads-max( ซอร์ส ) 60613ในกรณีของฉันนี้ถูกตั้งค่า ทุกเธรดใช้พื้นที่บางส่วนในสแต็ก ขีด จำกัด ขนาดสแต็กถูกกำหนดค่าโดยใช้ulimit -s( แหล่งที่มา ) ข้อ จำกัด สำหรับเปลือกของฉันเคยเป็น8192แต่ฉันได้เพิ่มมันโดยใส่* soft stack 32768เข้าไป/etc/security/limits.confดังนั้นulimit -sตอนนี้มันกลับ32768มา ฉันได้เพิ่มมันสำหรับกระบวนการนักเทียบท่าด้วยการใส่LimitSTACK=33554432ลงไป/etc/systemd/system/docker.service( แหล่งที่มาและฉันตรวจสอบว่าข้อ จำกัด ที่ใช้โดยการดู/proc/<pid of docker>/limitsและโดยการทำงานulimit -sภายในคอนเทนเนอร์นักเทียบท่า ทุกเธรดใช้หน่วยความจำบางส่วน ulimit -vวงเงินหน่วยความจำเสมือนมีการกำหนดค่าการใช้ …
39 linux  docker  limit  fork  thread 

5
วิธีการกำหนดขนาดของภาพ Docker ก่อนที่จะถูกดึง?
เราสามารถค้นหาไฟล์รูปภาพที่มีในเว็บไซต์ docker เช่นนี้: https://index.docker.io/search?q=ubuntu ฉันจะบอกได้อย่างไรว่าขนาดการดาวน์โหลดจะเป็นอย่างไรก่อนที่จะทำการดึง docker.io pull [image]
34 docker 

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

2
จะกำหนดค่า Centos 7 firewallD ให้อนุญาตให้นักเทียบท่าคอนเทนเนอร์เข้าถึงพอร์ตเครือข่ายของโฮสต์ได้อย่างไร
ฉันติดตั้ง docker ไว้บน CentOS 7 และฉันใช้งาน firewallD จากในคอนเทนเนอร์ของฉันไปที่โฮสต์ (ค่าเริ่มต้น 172.17.42.1) เปิดไฟร์วอลล์ container# nc -v 172.17.42.1 4243 nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host ด้วยการปิดไฟร์วอลล์ container# nc -v 172.17.42.1 4243 Connection to 172.17.42.1 4243 port [tcp/*] succeeded! ฉันอ่านเอกสารเกี่ยวกับไฟร์วอลและฉันไม่เข้าใจอย่างถ่องแท้ มีวิธีให้ทุกอย่างในคอนเทนเนอร์นักเทียบท่า (ฉันเดาบนอะแดปเตอร์ docker0) ไม่ จำกัด การเข้าถึงโฮสต์หรือไม่

2
นักเทียบท่า - คำเตือน: ไม่รองรับการ จำกัด การแลกเปลี่ยน
ฉันใช้นักเทียบท่า (1.9.1) บน Ubuntu 16.04 เมื่อฉันเรียกบรรทัดสุดท้ายของการส่งออกกล่าวว่าdocker infoWARNING: No swap limit support INFO[0781] GET /v1.21/info Containers: 0 Images: 0 Server Version: 1.9.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 0 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 4.4.0-62-generic Operating System: Ubuntu 16.04.1 LTS (containerized) …
29 swap  docker 

9
ทำไมฉันถึงได้รับ“ ไม่สามารถเชื่อมต่อกับดีมอนภูต” เมื่อ daemon กำลังทำงานอยู่?
บริการ Docker ทำงานอย่างชัดเจน: $ systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2015-12-28 19:20:50 GMT; 3 days ago Docs: https://docs.docker.com Main PID: 1015 (docker) CGroup: /system.slice/docker.service └─1015 /usr/bin/docker daemon -H fd:// --exec-opt native.cgroupdriver=cgroupfs $ ps wuf …

1
สิทธิ์ของผู้ใช้ทั้งภายในและภายนอกตู้คอนเทนเนอร์ LXC?
ฉันใช้บริการบางอย่างภายใน Docker LXC container บนเซิร์ฟเวอร์ของฉันและฉันเริ่มทำสิ่งที่ร้ายแรงกับพวกเขา สิ่งหนึ่งที่ฉันไม่ชัดเจนคือการอนุญาตของผู้ใช้ทำงานภายในและภายนอกของคอนเทนเนอร์อย่างไร ตัวอย่างเช่นถ้าฉันใช้ MySQL ในคอนเทนเนอร์และตั้งค่าไดเรกทอรีข้อมูล/dataเป็นไดรฟ์ข้อมูลของนักเทียบท่าการอนุญาตภายในและภายนอกของคอนเทนเนอร์มีผลต่อนโยบายการเข้าถึงอย่างไร เห็นได้ชัดว่าความคิดคือการใช้ MySQL เป็นผู้ใช้ของตัวเองในภาชนะ (เช่นmysql:mysql) และให้มันอ่านและเขียนสิทธิ์ในไดเรกทอรีนั้น ฉันคิดว่ามันจะตรงไปตรงมาพอเพียงแค่วางไดchmodเร็กตอรี่ ฯลฯ แต่วิธีนี้ทำงานนอกคอนเทนเนอร์ได้อย่างไร ตอนนี้ฉันมีโวลุ่มที่แชร์ที่เรียกว่า 'ข้อมูล' ฉันจะจัดการการควบคุมการเข้าถึงได้อย่างไร ฉันกำลังมองหาเฉพาะเพื่อให้สามารถเรียกใช้ผู้ใช้ที่ไม่มีสิทธิพิเศษภายนอกคอนเทนเนอร์ Docker ซึ่งจะเข้าถึงปริมาณการแชร์ MySQL และสำรองข้อมูลเป็นระยะ ฉันจะตั้งค่าการอนุญาตผู้ใช้และกลุ่มเพื่อให้ผู้ใช้เฉพาะบนโฮสต์สามารถอ่าน / เขียนไฟล์และโฟลเดอร์ในไดรฟ์ข้อมูลที่แชร์ของ Docker ได้อย่างไร

4
แตกไฟล์จากอิมเมจ Docker หรือไม่
ฉันต้องการดึงไฟล์จากอิมเมจ Docker โดยไม่ต้องเรียกใช้อิมเมจ docker saveตัวเลือกไม่ currrently ตัวเลือกที่ทำงานสำหรับฉันที่มันประหยัดมากเกินไปของไฟล์เพียงเพื่อยกเลิกการ tar ไฟล์ที่เฉพาะเจาะจง
24 docker 

4
ความแตกต่างระหว่าง `curl | sh` และ `sh -c“ $ (curl)””?
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 2 ปีที่แล้ว วิธีการติดตั้งง่าย ๆ อย่างหนึ่งสำหรับ Docker (ตัวอย่าง) คือ: curl -sSL https://get.docker.com/ | sh อย่างไรก็ตามฉันได้เห็นบางอย่างที่มีลักษณะเช่นนี้ (โดยใช้ตัวอย่าง Docker): sh -c "$(curl -sSL https://get.docker.com/)" พวกมันดูเหมือนจะใช้งานได้เหมือนกัน แต่มีเหตุผลที่จะใช้อันหนึ่งกับอีกอันหนึ่งหรือไม่? หรือมันเป็นเพียงสิ่งที่ชอบ / ความงาม? (โปรดทราบว่าให้ระมัดระวังเมื่อเรียกใช้สคริปต์จากต้นกำเนิดที่ไม่รู้จัก)

1
ดึงไฟล์จากคอนเทนเนอร์ Docker หรือไม่?
ฉันเห็นว่าเป็นไปได้ที่จะแทรกไฟล์ลงในคอนเทนเนอร์ Docker ผ่านinsert: docker insert IMAGE URL PATH มีวิธีการดึงเนื้อหาของไฟล์ในคอนเทนเนอร์ Docker และบันทึกไว้ที่ใดที่หนึ่งบนระบบปฏิบัติการโฮสต์หรือไม่ ฉันต้องการแยกค่าของไฟล์การกำหนดค่าและเก็บไว้ในระบบปฏิบัติการโฮสต์ของฉัน
20 linux  docker 

3
นักเทียบท่าพูดว่า“ ไม่มีที่ว่างเหลืออยู่ในอุปกรณ์” แต่ระบบมีพื้นที่เหลือเฟือหรือไม่
ฉันกำลังพยายามเรียกใช้อิมเมจนักเทียบท่าที่ใช้งานได้กับระบบอื่น ๆ (และคุณสามารถดึงมันออกมาจาก dockerhub ถ้าคุณต้องการ: มันdougbtv/asterisk) อย่างไรก็ตามบนเวิร์คสเตชั่นทั่วไปของฉันมันบ่นเกี่ยวกับพื้นที่ว่างเมื่อมัน (ดูเหมือน) มันไม่ได้แสดงภาพนักเทียบท่า ฉันพยายามเรียกใช้และเมื่อฉันฉันได้รับข้อผิดพลาดที่ระบุว่าพื้นที่ไม่เพียงพอ นี่คือตัวอย่างของฉันพยายามเรียกใช้และมันบ่นเกี่ยวกับพื้นที่ .. [root@localhost docker]# docker run -i -t dougbtv/asterisk /bin/bash Timestamp: 2015-05-13 07:50:58.128736228 -0400 EDT Code: System error Message: [/usr/bin/tar -xf /var/lib/docker/tmp/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d410879741/_tmp.tar -C /var/lib/docker/devicemapper/mnt/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d/rootfs/tmp .] failed: /usr/bin/tar: ./asterisk/utils/astdb2sqlite3: Wrote only 512 of 10240 bytes /usr/bin/tar: ./asterisk/utils/conf2ael.c: Cannot write: No space …

2
วิธีรันบิลด์ในคอนเทนเนอร์ Docker จาก Jenkins
ฉันพยายามใช้ Jenkins เพื่อสร้างโครงการ C ++ ในคอนเทนเนอร์ Docker ฉันไม่มีปัญหาในการสร้างเจนกินส์หรือสร้างในภาชนะนอกเจนกินส์ ด้านล่างเป็นสิ่งที่ฉันพยายาม ฉันกำลังข้ามการทำแผนที่ปริมาณเพื่อความชัดเจน กรณีที่ 1 คำสั่งต่อไปนี้รันบิลด์ในเชลล์ได้สำเร็จ docker run --rm --interactive=true --tty=true $IMAGE make อย่างไรก็ตามเมื่อทำงานใน Jenkins เป็นขั้นตอน "execute shell" Docker จะส่งคืนข้อผิดพลาดต่อไปนี้ cannot enable tty mode on non tty input กรณีที่ 2 คำสั่งต่อไปนี้คล้ายกับคำสั่งก่อนหน้า แต่ปิดใช้งานการโต้ตอบ docker run --rm $IMAGE make เจนกินส์สามารถเรียกใช้งานบิลด์ได้สำเร็จ อย่างไรก็ตามมีปัญหาร้ายแรงเมื่อยกเลิกการสร้าง บิลด์จะถูกทำเครื่องหมายทันทีว่าถูกยกเลิก แต่คอนเทนเนอร์ยังคงทำงานอยู่จนกว่าบิลด์จะเสร็จสิ้น นอกจากนี้ภาชนะจะไม่ถูกลบออกหลังจากออกจาก เมื่อรันในเชลล์คำสั่งจะสร้างสำเร็จ …
18 tty  docker  pty  jenkins 

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