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

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

3
ลบภาพ Docker ที่ติดแท็กออกจากรีจิสตรีส่วนตัว
ฉันจะลบแท็กที่เพิ่มผิดจากรูปภาพในรีจิสตรี Docker ได้อย่างไร ตัวเลือก -rmi ดูเหมือนจะไม่ทำงานกับภาพระยะไกลใน Docker 1.9.1 user@ubuntu-user:~$ docker --version Docker version 1.9.1, build a34a1d5 user@ubuntu-user:~$ docker search myregistry:5000/user/image NAME myregistry:5000/user/image:20160119 myregistry:5000/user/image:20160119-20160120 user@ubuntu-user:~$ docker rmi myregistry:5000/user/image:20160119-20160120 Error response from daemon: could not find image: no such id: myregistry:5000/user/image:20160119-20160120 Error: failed to remove images: [myregistry:5000/user/image:20160119-20160120]

2
วิธีการ: Dockerized การจำลองแบบ MongoDB บนบริการคอนเทนเนอร์แบบยืดหยุ่น
ฉันมีแอพ Node.js พร้อมกับฐานข้อมูล MongoDB ที่ทำงานบน AWS ECS การตั้งค่าที่ฉันได้รับในปัจจุบันนั้นประกอบไปด้วย 2 ELB และ 2 อินสแตนซ์ที่รันแต่ละคอนเทนเนอร์ Docker พร้อมบริการที่กำหนด (โหนด / Mongo): Elastic Load Balancer -> Dockerized Node -> Elastic Load Balancer -> Dockerized MongoDB ฉันใช้อิมเมจ Docker อย่างเป็นทางการสำหรับ MongoDB แล้วที่นี่: https://registry.hub.docker.com/_/mongo/ พอยน์เตอร์ใด ๆ เกี่ยวกับวิธีที่ฉันจะสามารถปรับใช้ replicaSet สำหรับ MongoDB โดยใช้ Docker และ ECS แต่ละเรพลิกาจะทำงานบนอินสแตนซ์อื่น

1
ฉันจะสร้างสภาวะแวดล้อม Linux ที่ระบุแพ็คเกจเฉพาะได้อย่างไร
ฉันกำลังสร้าง dockerfile ที่รันแอ็พพลิเคชันแบบกำหนดเองที่เชื่อมโยงกับ Java เวอร์ชันที่เจาะจง ฉันใช้อิมเมจพื้นฐาน centos7 เพราะนั่นคือสิ่งที่บทความที่ฉันอ้างถึงใช้และเพราะฉันต้องใช้บางสิ่งบางอย่างดังนั้นมันก็ดีเหมือนกัน ฉันไม่สนใจสิ่งที่ผู้ใช้กำลังใช้งานอยู่ จุดสำคัญของภาพนี้คือซอฟต์แวร์ที่โฮสต์อยู่การกระจายตัวของ Linux เป็นเพียงวิธีการสิ้นสุด - ที่สำคัญ JDK จะไม่ถูกใช้โดยแอปพลิเคชันหรือผู้ใช้อื่น แอปพลิเคชันของฉันเชื่อมโยงกับ Java เวอร์ชันเฉพาะที่ฉันกำลังใช้ - การอัปเดตเป็น Java เวอร์ชันใด ๆ จะต้องมีการทดสอบการถดถอยแบบเต็มของซอฟต์แวร์กับเวอร์ชันเฉพาะก่อนที่จะเผยแพร่ บทความที่ฉันตามมาเริ่มต้นด้วยส่วนที่เกี่ยวข้องกับการติดตั้ง JDK ติดตั้งที่มีลักษณะเช่นนี้: FROM centos:centos7 RUN yum makecache \ && yum update -y \ && yum install -y \ java-1.8.0-openjdk-devel \ && yum clean all …
9 linux  centos  java  yum  docker 

2
รุ่นเซิร์ฟเวอร์ที่ไม่น่าไว้วางใจที่มี Docker / Ansible vs. Ansible, Puppet และ Foreman ใน AWS?
พวกเรากำลังโต้เถียงกันที่น่าสนใจและกำลังตกอยู่ในสองค่าย ฉันสนใจในปัญหาเฉพาะใด ๆ กับความคิดหรือ gotchas เราอาจจะหายไป จริงๆแล้วอะไรก็ตามที่สามารถช่วยเราในการตัดสินใจหรือชี้ให้เห็นสิ่งที่เราไม่ได้พิจารณา ฉันรู้ว่ากระโปรงนี้มีกฎว่า "ไม่มีความคิดเห็น" อย่างใกล้ชิด แต่ฉันหวังว่ามันจะยังเป็นคำถามที่ยอมรับได้ ขออภัยในความยาวเช่นกันมีความแตกต่างกันนิดหน่อย 1) ด้านหนึ่ง (ของฉัน - ฉันไม่ไร้อคติ) พบว่ารูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบน่าสนใจมากสำหรับระบบคลาวด์ ด้วยเหตุนี้เราจึงทำการย้ายต้นแบบส่วนประกอบทั้งหมดของโครงสร้างพื้นฐานของเราไปยัง Docker แอปพลิเคชันที่กำหนดเองของเราสร้างขึ้นผ่าน Jenkins โดยตรงในอิมเมจ Docker ที่ปรับใช้กับ Docker Registry ในพื้นที่ จากนั้นเราสร้างบทบาท Ansible จำนวนมากและ playbook ที่สามารถเข้าถึงเซิร์ฟเวอร์เปล่าติดตั้ง Docker แล้วบอก Docker ให้ติดตั้งคอนเทนเนอร์ทั้งหมดตามต้องการ หลังจากผ่านไปสองสามนาทีแอปทั้งหมดและโครงสร้างพื้นฐานที่รองรับทั้งหมดจะเชื่อมต่อและทำงาน - การบันทึกการตรวจสอบการสร้างฐานข้อมูล / ประชากร ฯลฯ เครื่องที่เสร็จแล้วเป็นสภาพแวดล้อมแบบ QA หรือ dev ที่มีอยู่ในตัวเองพร้อมสำเนาที่แน่นอนของ ใบสมัคร แผนของเราในการขยายขนาดนี้คือการสร้าง …

3
ทำไมนักเทียบท่าเครื่องจึงล้างข้อมูลเมื่อรีสตาร์ท?
ฉันใช้ Docker Toolbox บน OSX ฉันได้สร้างภาชนะปริมาณข้อมูลสำหรับการจัดเก็บข้อมูลแบบถาวร: https://docs.docker.com/userguide/dockervolumes/#creating-and-mounting-a-data-volume-container ฉันตรวจสอบว่าข้อมูลนี้ถูกเก็บไว้อย่างแน่นอนใน boot2docker VM (สร้างโดยเครื่องเชื่อมต่อ) และไม่ได้อยู่บนภาชนะเพื่อที่จะยังคงอยู่ อย่างไรก็ตาม "การรีสตาร์ทเครื่องนักเทียบท่า" จะล้างข้อมูลที่กำหนดเองนี้ออกไปใน vm ฉันไม่พบเอกสารเกี่ยวกับสิ่งที่เกิดขึ้น ฉันพบหนึ่งโพสต์ในฟอรั่มที่กล่าวถึงว่าข้อมูลใน / var / lib / docker จะถูกเก็บรักษาไว้ แต่ฉันไม่พบเอกสารที่เป็นทางการใด ๆ ที่ระบุว่าและดูเหมือนแปลกเมื่อพิจารณาจากคู่มือการจัดเก็บแบบถาวรด้านบนไม่ใช้เส้นทางนี้ ข้อมูลของคุณจะถูกลบ นี่เป็นสิ่งที่คาดหวังหรือไม่หากมีเอกสารอย่างเป็นทางการใด ๆ บนเส้นทางที่ถูกต้องในการจัดเก็บข้อมูลถาวร แก้ไข: การเพิ่มตัวอย่างของ senario ที่ล้มเหลว $ docker-machine ssh alt docker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c …

2
ไม่สามารถเขียนไฟล์ / etc / hosts จาก Dockerfile ด้วย RUN
ฉันสร้างภาพนักเทียบท่าโดยใช้ Dockerfile ที่เรียบง่าย ข้างใน Dockerfile ฉันมีคำสั่งนี้: RUN printf "192.92.13.243 www.hahaha.com \n" >> /etc/hosts คำสั่งนั้นดูเหมือนจะโอเคเนื่องจากการสร้างอิมเมจไม่ได้หยุดอยู่ที่จุดนี้ ปัญหาคือ: เมื่อเรียกใช้รูปภาพเส้นที่ควรแทรกภายใน "/ etc / hosts" ไม่มีอยู่ ตอนนี้ฉันค้นหาไปรอบ ๆ และพบว่าก่อนหน้านักเทียบท่ารุ่น 1.2 มีปัญหากับไฟล์โฮสต์ภายในคอนเทนเนอร์ ในกรณีของฉันฉันใช้เวอร์ชัน 1.5 ซึ่งเป็นเวอร์ชั่นล่าสุด ณ ขณะนี้ ฉันพลาดอะไรไปรึเปล่า? อัปเดต 1: ดูเหมือนจะมีปัญหามากมายสำหรับเรื่องนี้ทั้งเปิดและปิดในหน้า github ของนักเทียบท่า

2
ทำไมผู้ใช้เจนกินส์อาจไม่ได้รับอนุญาตให้เข้าถึงซ็อกเก็ตยูนิกซ์ Docker
ฉันได้เพิ่มjenkinsผู้ใช้ไปยังdockerกลุ่มที่คิดว่าจะอนุญาตให้งาน Jenkins เรียกใช้คำสั่ง Docker ได้ หากฉันเปลี่ยนไปjenkinsใช้ผู้ใช้ฉันสามารถตรวจสอบว่ามันใช้งานได้ (ด้วยตนเอง): ubuntu@hostname:~$ ps aux | grep java jenkins 2210 9.5 7.5 1950316 292896 ? Sl 00:01 1:00 /usr/bin/java -jar /data/jenkins/jenkins-1.586.war --httpPort=8080 -Xloggc:/var/log/jenkins/gc.log ubuntu@hostname:~$ getent group docker docker:x:999:jenkins ubuntu@hostname:~$ ls -la /var/run/docker.* -rw-r--r-- 1 root root 4 Oct 23 18:32 /var/run/docker.pid srw-rw---- 1 root docker …

1
การใช้ nginx กับ reverse proxy ใน container docker ไม่ทำงาน
ฉันต้องการให้ทุกสิ่งที่เริ่มต้นด้วย/apiถูกนำไปhttp://localhost:3007 นี่คือ nginx.conf ของฉัน user nginx; worker_processes 1; daemon off; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /usr/html; index index.html index.htm; } location /api { proxy_pass http://localhost:3007; proxy_read_timeout 5m; } error_page 500 …

1
ปฏิเสธการเข้าถึงบนพอร์ตที่เปิดเผยซึ่งถูกเปิดเผยจากที่เก็บอื่นในเครือข่ายนักเทียบท่าเดียวกัน
ฉันไม่สามารถเชื่อมต่อกับคอนเทนเนอร์หนึ่งในเครือข่ายlonelyislandจากที่อยู่อื่นในเครือข่ายเดียวกัน docker run --rm --name spaceship --net lonelyisland --expose 8080 -p 8080:8080 --ip 172.18.0.8 quay.io/ahoi/spaceship:latest target/release/spaceship ความเข้าใจของเรา-pไม่จำเป็นจะซ้ำซ้อนกับคนที่ได้รับใน--exposeDockerfile แอพทำงานได้ดีโดยไม่มีนักเทียบท่าดังนั้นมันจึงต้องเกี่ยวข้องกับนักเทียบท่า (เครือข่าย) ขั้นตอนสำหรับการทดสอบแบบขดนั้นมีดังนี้: docker run --rm -it --name "curl-test" --net lonelyisland fedora:latest /bin/bash ตั้งค่า test-curl [root@52ac28b36b93 /]# dnf install iproute iputils Fedora 24 - x86_64 54 MB/s | 47 MB 00:00 Fedora 24 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.