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

นักเทียบท่าเป็นโครงการโอเพนซอร์ซที่ปรับใช้งานแอพพลิเคชั่นอัตโนมัติภายในคอนเทนเนอร์ซอฟต์แวร์

13
ฉันจะใช้ตัวแปรสภาพแวดล้อมใน Nginx.conf ได้อย่างไร
[ข้ามโพสต์และแก้ไขจากhttps://stackoverflow.com/questions/21933955เนื่องจากถูกพิจารณาว่าเป็นระบบที่เหมือนกันกับ StackOverflow] ฉันมีตัวเทียบท่าที่ใช้ Nginx ซึ่งเชื่อมโยงไปยังคอนเทนเนอร์ตัวเทียบท่าอื่น ชื่อโฮสต์และที่อยู่ IP ของคอนเทนเนอร์ที่สองถูกโหลดลงในคอนเทนเนอร์ Nginx เป็นตัวแปรสภาพแวดล้อมเมื่อเริ่มต้น แต่ไม่ทราบมาก่อน (มันเป็นแบบไดนามิก) ฉันต้องการให้ฉันnginx.confใช้ค่าเหล่านี้ - เช่น upstream gunicorn { server $APP_HOST_NAME:$APP_HOST_PORT; } ฉันจะรับตัวแปรสภาพแวดล้อมในการกำหนดค่า Nginx เมื่อเริ่มต้นได้อย่างไร แก้ไข 1 นี่คือไฟล์ทั้งหมดหลังจากคำตอบที่แนะนำด้านล่าง: env APP_WEB_1_PORT_5000_TCP_ADDR; # Nginx host configuration for django_app # Django app is served by Gunicorn, running under port 5000 (via Foreman) upstream gunicorn …
183 nginx  docker 

9
เวลาและเขตของ Docker Container (จะไม่สะท้อนการเปลี่ยนแปลง)
คอนเทนเนอร์ Docker จะรับข้อมูลเวลาได้ที่ไหน ฉันได้สร้างตู้คอนเทนเนอร์จากพื้นฐานอูบุนตู: ภาพที่น่าเชื่อถือและเมื่อฉันเรียกใช้และขอ 'วันที่' ฉันจะได้รับเวลา UTC สำหรับชั่วขณะหนึ่งฉันได้รับสิ่งนี้โดยทำสิ่งต่อไปนี้ใน Dockerfile ของฉัน: RUN sudo echo "America/Los_Angeles" > /etc/timezone อย่างไรก็ตามด้วยเหตุผลบางอย่างที่หยุดทำงาน การค้นหาออนไลน์ฉันเห็นคำแนะนำด้านล่าง: docker run -v /etc/timezone:/etc/timezone [image-name] ทั้งสองวิธีเหล่านี้ตั้งเขตเวลาได้อย่างถูกต้อง! $ cat /etc/timezone America/Los_Angeles $ date Tue Apr 14 23:46:51 UTC 2015 ใครรู้ว่าให้อะไร
135 date  timezone  docker 

4
วิธีลบแท็กรูปภาพใน Docker โดยไม่ต้องลบรูปภาพออกเอง
สมมติว่าฉันต้องการติดแท็กรูปภาพ Docker และพิมพ์ผิด ฉันจะลบแท็กโดยไม่ลบภาพได้อย่างไร ทั้ง manpages และเอกสาร Docker ไม่พูดถึงการลบแท็ก docker tag 0e5574283393 my-imaj docker tag 0e5574283393 my-image # docker untag my-imaj # There is no "docker untag"!
134 docker 

10
คุณสามารถเรียกใช้ Docker แบบดั้งเดิมบน Windows 10 (Ubuntu) ใหม่ทุบตีผู้ใช้งานได้หรือไม่?
ความเข้าใจของฉันคือข้อ จำกัด หลักของการใช้งานนักเทียบท่าบนระบบปฏิบัติการอื่นคือคอนเทนเนอร์เครือข่าย Linux ที่ทำให้เป็นไปได้ (แน่นอนสำหรับ Macs) เมื่อเร็ว ๆ นี้Microsoft ประกาศรุ่นเบต้าของโหมดผู้ใช้Ubuntu Linux ที่ทำงานบน Windows 10 ซึ่งสามารถเรียกใช้ไบนารีที่รวบรวมในรูปแบบ ELF บน Windows (ต่างจาก cygwin ซึ่งต้องมีการรวบรวม) คำถามของฉันคือ: คุณสามารถเรียกใช้ Docker แบบดั้งเดิมบน Windows 10 (Ubuntu) ทุบตีผู้ใช้ใหม่ได้หรือไม่?

3
ฉันจะลบล้าง CMD ได้อย่างไรเมื่อเรียกใช้อิมเมจนักเทียบท่า?
ฉันต้องการตรวจสอบภาพนักเทียบท่าที่สร้างโดยบุคคลอื่นที่มีทั้งจุดเข้าใช้งานและคำสั่งที่ระบุเช่น: ENTRYPOINT ["/usr/sbin/apache2ctl"] CMD ["-D", "FOREGROUND"] ฉันกำลังทำ: docker run --interactive --tty --entrypoint=/bin/bash $IMAGE --login มีวิธีการแทนที่ CMD ให้ว่างเปล่าหรือไม่ (ดังนั้นฉันไม่ต้องใช้ "--login")?
123 docker 

5
วิธีจัดการกับการอัพเดทความปลอดภัยภายในคอนเทนเนอร์ Docker
เมื่อปรับใช้แอปพลิเคชันไปยังเซิร์ฟเวอร์โดยทั่วไปจะมีการแยกระหว่างสิ่งที่แอปพลิเคชันรวมกับตัวเองและสิ่งที่คาดหวังจากแพลตฟอร์ม (ระบบปฏิบัติการและแพ็คเกจที่ติดตั้ง) ประเด็นหนึ่งคือการที่แพลตฟอร์มสามารถอัปเดตได้โดยอิสระจากแอปพลิเคชัน สิ่งนี้มีประโยชน์เช่นเมื่อจำเป็นต้องใช้การอัปเดตความปลอดภัยอย่างเร่งด่วนกับแพ็คเกจที่จัดทำโดยแพลตฟอร์มโดยไม่ต้องสร้างแอปพลิเคชันใหม่ทั้งหมด การอัปเดตความปลอดภัยแบบดั้งเดิมนั้นถูกนำไปใช้โดยเพียงแค่ดำเนินการคำสั่ง package manager เพื่อติดตั้งแพ็กเกจเวอร์ชันที่อัพเดตบนระบบปฏิบัติการ (เช่น "yum update" บน RHEL) แต่ด้วยการถือกำเนิดของเทคโนโลยี container เช่น Docker ที่รูปของ container รวมทั้งแอพพลิเคชั่นและแพลตฟอร์มเป็นวิธีที่ยอมรับได้ในการรักษาระบบด้วย container เป็นอะไร? ทั้งโฮสต์และคอนเทนเนอร์มีชุดแพ็กเกจของตนเองที่เป็นอิสระที่จำเป็นต้องอัพเดตและอัพเดตบนโฮสต์จะไม่อัพเดตแพ็กเกจใด ๆ ภายในคอนเทนเนอร์ ด้วยการเปิดตัว RHEL 7 ที่มีคุณสมบัติพิเศษของ Docker container มันน่าสนใจที่จะได้ยินว่า Redhat แนะนำวิธีใดในการจัดการกับการอัปเดตความปลอดภัยของคอนเทนเนอร์ ความคิดเกี่ยวกับตัวเลือกบางอย่าง: การปล่อยให้แพ็กเกจอัพเดตตัวจัดการแพ็กเกจบนโฮสต์จะไม่อัพเดตแพ็กเกจภายในคอนเทนเนอร์ ต้องสร้างภาพคอนเทนเนอร์ทั้งหมดเพื่อใช้การอัปเดตดูเหมือนว่าจะแยกความแตกต่างระหว่างแอปพลิเคชันและแพลตฟอร์ม (การอัปเดตแพลตฟอร์มต้องเข้าถึงกระบวนการสร้างแอปพลิเคชันซึ่งสร้างอิมเมจ Docker) การรันคำสั่งแบบแมนนวลภายในแต่ละคอนเทนเนอร์ที่รันอยู่นั้นดูเหมือนว่ายุ่งยากและการเปลี่ยนแปลงมีความเสี่ยงที่จะถูกเขียนทับในครั้งต่อไปที่คอนเทนเนอร์ถูกอัพเดตจากแอ็พพลิเคชันการปล่อยสิ่งประดิษฐ์ ดังนั้นวิธีการเหล่านี้จึงไม่น่าพอใจ

3
ฉันจะเริ่มต้นอัตโนมัตินักเทียบท่าคอนเทนเนอร์ที่บูตระบบได้อย่างไร
เป็นวิธีที่ดีในการเริ่มต้นนักเทียบท่าคอนเทนเนอร์โดยอัตโนมัติเมื่อระบบบูทขึ้นคืออะไร? มีวิธีที่ต้องการทำเช่นนี้ใน Ubuntu 14.04? ก่อนหน้านี้ฉันเคยใช้supervisordเพื่อเริ่มต้นเว็บแอป แต่นั่นไม่รู้สึกเหมือนสิ่งที่ถูกต้องสำหรับนักเทียบท่า

5
ฉันจะดีบักการกำหนดค่าเริ่มต้นคอนเทนเนอร์ของนักเทียบท่าได้อย่างไร
ฉันมีปัญหากับคอนเทนเนอร์ถึงแม้ว่ามันจะสร้างขึ้นอย่างสมบูรณ์แบบ แต่ก็ไม่เริ่มต้นอย่างถูกต้อง สาเหตุเป็นวิธีแก้ปัญหาที่ฉันเพิ่มลงใน Dockerfile (สำหรับการกำหนดเส้นทาง / etc / hosts กำหนดเอง) RUN mkdir -p -- /lib-override /etc-override && cp /lib/libnss_files.so.2 /lib-override ADD hosts.template /etc-override/hosts RUN perl -pi -e 's:/etc/hosts:/etc-override/hosts:g' /lib-override/libnss_files.so.2 ENV LD_LIBRARY_PATH /lib-override เห็นได้ชัดว่ามีข้อผิดพลาดบางอย่างในนั้น แต่ฉันสงสัยว่าฉันจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่นักเทียบท่ากำลังทำในขณะที่ทำงาน ตัวอย่างเช่นงานนี้: $ docker run image ls usr bin ... แต่นี่ไม่ใช่: $ docker run image ls -l …
93 docker  debug 

2
Mac OS X สามารถทำงานใน Docker ได้หรือไม่?
Mac OS X สามารถทำงานใน Docker ได้หรือไม่? ถ้าเป็นเช่นนั้นข้อเสนอแนะใด ๆ เป็นอย่างไร และมันจะทำงานโดยไม่ต้องหัวหรือจะมีความเป็นไปได้ที่จะเชื่อมต่อกับ GUI จากระยะไกล? ขอบคุณ Simone
92 mac-osx  docker 

2
ทำไมเราใช้ OS Base Image with Docker ถ้าคอนเทนเนอร์ไม่มี Guest OS
ฉันเพิ่งเริ่มศึกษานักเทียบท่าและมีบางอย่างที่ค่อนข้างสับสนสำหรับฉัน ดังที่ฉันได้อ่านบนเว็บไซต์ของนักเทียบท่าแล้วคอนเทนเนอร์ต่างจากเครื่องเสมือนจริง ดังที่ฉันเข้าใจว่าคอนเทนเนอร์เป็นเพียงแซนด์บ็อกซ์ซึ่งมีระบบไฟล์แยกทั้งหมดทำงานอยู่ ฉันยังอ่านว่าคอนเทนเนอร์ไม่มีการติดตั้ง Guest OS แต่จะอาศัยเคอร์เนลระบบปฏิบัติการพื้นฐาน ทั้งหมดนี้เป็นเรื่องปกติ สิ่งที่ฉันสับสนคือมีภาพ Docker ตั้งชื่อตามระบบปฏิบัติการ เราเห็นภาพอย่าง Ubuntu, Debian, Fedora, CentOS และอื่น ๆ ประเด็นของฉันคืออะไรรูปเหล่านั้นจริงเหรอ? มันแตกต่างกันอย่างไรในการสร้างคอนเทนเนอร์ตามอิมเมจ Debian กว่าการสร้างเครื่องเสมือนและการติดตั้ง Debian ฉันคิดว่าตู้คอนเทนเนอร์ไม่มีการติดตั้ง Guest OS แต่เมื่อเราสร้างรูปภาพเราจะยึดมันไว้ในภาพที่ตั้งชื่อตามระบบปฏิบัติการเดียว นอกจากนี้ในตัวอย่างที่ผมเห็นเมื่อเราทำdocker run ubuntu echo "hello world"มันก็ดูเหมือนเรากำลังปั่นขึ้น VM กับ Ubuntu echo "hello world"และทำให้มันเรียกใช้คำสั่ง ในแบบเดียวกับที่เราทำdocker run -it ubuntu /bin/bashดูเหมือนว่าเรากำลังเพิ่ม VM ด้วย Ubuntu และเข้าถึงโดยใช้บรรทัดคำสั่ง อย่างไรก็ตามรูปภาพเหล่านั้นถูกตั้งชื่อตามระบบปฏิบัติการเกี่ยวกับอะไร? มันแตกต่างกันอย่างไรในการรันคอนเทนเนอร์ด้วยหนึ่งในอิมเมจเหล่านั้นและหมุน …

3
เหตุใด ifconfig จึงไม่พร้อมใช้งานในตู้คอนเทนเนอร์ Ubuntu Docker
ด้วยฐานubuntu:12.04, ifconfigไม่สามารถใช้ได้ในภาชนะที่แม้ว่าipคำสั่งที่มีอยู่ว่าทำไมเป็นแบบนี้? และวิธีการที่จะได้รับifconfigในภาชนะบรรจุ?
64 docker 

5
การลบโวลุ่มข้อมูลนักเทียบท่า?
เอกสารประกอบนักเทียบท่าอย่างเป็นทางการกล่าวถึงว่าฉันจำเป็นต้องเรียกใช้docker rm -v containernameเพื่อลบโวลุ่มข้อมูลโดยเฉพาะ แต่คุณจะทำอย่างไรถ้าคุณลบคอนเทนเนอร์ทั้งหมดที่อ้างอิงถึงโวลุ่มข้อมูลที่ระบุ?
59 docker 

2
กำลังดาวน์โหลดอิมเมจ docker สำหรับถ่ายโอนไปยังเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ต
ฉันทำงานในสำนักงานที่แล็ปท็อปของฉันเชื่อมต่ออินเทอร์เน็ต แต่มีการควบคุมอย่างแน่นหนา ฉันไม่ได้รับอนุญาตให้ติดตั้งซอฟต์แวร์ที่ไม่ได้รับอนุญาตลงบนซอฟต์แวร์ เวิร์คสเตชั่พัฒนาของฉันเป็นของฉันด้วย แต่ฉันไม่มีการเชื่อมต่ออินเทอร์เน็ต มีวิธีใดบ้างที่ฉันจะดาวน์โหลดอิมเมจ Docker จากฮับเป็นไฟล์ที่ฉันสามารถใช้กับรองเท้าเวิร์คสเตชั่น dev ของฉันได้? คล้ายกับฉันจะดาวน์โหลด RPM หรือ Ruby Gems และเขียนลงซีดีได้อย่างไร หรือเป็นวิธีเดียวในการดาวน์โหลดรูปภาพโดยใช้คำสั่ง 'docker pull'?

4
ความสัมพันธ์ระหว่าง Vagrant, Docker, Chef และ OpenStack (หรือผลิตภัณฑ์ที่คล้ายกัน)?
ฉันเป็นนักพัฒนาเว็บ แต่ฉันก็สนใจงานธุรการบางอย่าง ดังนั้นการย้ายใหม่จากการบริหารที่บริสุทธิ์ไปยัง dev-ops จึงเป็นประโยชน์สำหรับฉัน อย่างไรก็ตามฉันมีปัญหาบางอย่างที่จะนำบางสิ่งมาสู่ความสัมพันธ์ อาจไม่มีเลยดังนั้นฉันต้องการขอความช่วยเหลือชี้แจง โดยพื้นฐานแล้วสิ่งที่ฉันต้องการจะมีความสัมพันธ์คือซอฟต์แวร์สี่ประเภท (จากความเข้าใจของฉัน) ผลิตภัณฑ์ที่แน่นอนไม่สำคัญคุณสามารถวางซอฟต์แวร์ที่คล้ายกันเป็นทางเลือก: คนจรจัด: จากความเข้าใจของฉันคือการสร้างและจัดการ VMs โดยอัตโนมัติ: การตั้งค่าเริ่มต้นและหยุดพวกเขา สิ่งนี้สามารถทำได้โดยใช้ VM ท้องถิ่นหรือระยะไกลเช่นบนแพลตฟอร์มคลาวด์ นักเทียบท่า: "VM น้ำหนักเบา" ซึ่งใช้แนวคิดเคอร์เนล Linux สองสามตัวซึ่งสามารถใช้เพื่อเรียกใช้กระบวนการแยกเช่นในสภาพแวดล้อมเว็บโฮสติ้งที่ใช้ร่วมกัน Chef: เครื่องมือในการตั้งค่าและกำหนดค่าระบบปฏิบัติการเช่นภายใน VM OpenStack: เครื่องมือที่ช่วยให้คุณสร้างคลาวด์ส่วนตัวของคุณเองดังนั้นจึงเปรียบได้กับบางสิ่งเช่น AWS คำถาม # 1: คำอธิบายของฉันถูกหรือฉันผิดกับบางส่วน (หรือทั้งหมด) ของการบริโภคเหล่านี้? คำถาม # 2: ฉันจะผสมเครื่องมือเหล่านั้นทั้งหมดได้อย่างไร มันจะสมเหตุสมผลไหม? ในจินตนาการของฉันและจากจุดที่ฉันเข้าใจคุณสามารถไปและ ใช้ OpenStack เพื่อสร้างคลาวด์ของคุณเอง ใช้ Vagrant เพื่อจัดการ VMs ที่ทำงานอยู่ในคลาวด์ …

7
จะระบุชื่อโฮสต์สำหรับคอนเทนเนอร์ที่ใช้งานได้อย่างไร
ฉันมีปัญหาในการตั้งค่าชื่อโฮสต์บนคอนเทนเนอร์นักเทียบท่าที่กำลังทำงานอยู่ ฉันยังมีปัญหาในการทำความเข้าใจวิธีระบุชื่อโฮสต์หลังจากที่รูปภาพเริ่มต้นขึ้น ฉันเริ่มคอนเทนเนอร์จากภาพที่ฉันดาวน์โหลด: sudo docker run -p 8080:80 -p 2222:22 oskarhane/docker-wordpress-nginx-ss แต่ฉันลืมระบุชื่อโฮสต์ผ่าน-h; ฉันจะระบุชื่อโฮสต์ได้อย่างไรว่าคอนเทนเนอร์กำลังทำงานอยู่?
51 linux  lxc  docker 

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