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

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

10
วิธีที่ถูกต้องในการแยกออกจากภาชนะโดยไม่หยุด
ใน Docker 1.1.2 (ล่าสุด) วิธีที่ถูกต้องในการแยกออกจากภาชนะโดยไม่หยุดคืออะไร? ตัวอย่างเช่นถ้าฉันลอง: docker run -i -t foo /bin/bash หรือ docker attach foo (สำหรับการเรียกใช้คอนเทนเนอร์แล้ว) ทั้งสองอย่างนี้พาฉันไปที่เทอร์มินัลในคอนเทนเนอร์ฉันจะออกจากเทอร์มินัลของคอนเทนเนอร์โดยไม่หยุดได้อย่างไร exitและCTR+Cทั้งสองหยุดภาชนะ
313 docker 

5
ความแตกต่างระหว่างการใช้งานและการเริ่มคอนเทนเนอร์นักเทียบท่า
ในทางปฏิบัติเพื่อเริ่มภาชนะฉันจะ: docker run a8asd8f9asdf0 หากเป็นเช่นนั้นจะเกิดอะไรขึ้น: docker start ทำ? ในคู่มือบอกว่า เริ่มคอนเทนเนอร์ที่หยุดทำงานตั้งแต่หนึ่งรายการขึ้นไป
307 docker 

15
วิธีแก้ไขตัวเทียบท่า: ได้รับการปฏิเสธปัญหา
ฉันติดตั้ง Docker ในเครื่องที่ฉันใช้ Ubuntu OS หลังจากฉันติดตั้งนักเทียบท่าเมื่อฉันทำงาน sudo docker run hello-world ไม่เป็นไร แต่ฉันต้องการซ่อนคำsudoเพื่อทำให้คำสั่งสั้นลง ถ้าฉันเขียนคำสั่งโดยไม่มีคำว่า sudo docker run hello-world ที่แสดงต่อไปนี้: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.See 'docker run --help'. มันเกิดขึ้นแบบเดียวกันเมื่อฉันพยายามทำ docker-compose up ฉันจะแก้ไขปัญหานี้ได้อย่างไร

19
จะใช้ภาพ Docker ท้องถิ่นกับ Minikube ได้อย่างไร?
ฉันมีภาพนักเทียบท่าหลายภาพที่ฉันต้องการใช้ด้วย minikubeผมมีภาพนักเทียบท่าหลายอย่างที่ฉันต้องการที่จะใช้กับฉันไม่ต้องการอัปโหลดก่อนแล้วจึงดาวน์โหลดภาพเดียวกันแทนที่จะใช้ภาพในเครื่องโดยตรง ฉันจะทำสิ่งนี้ได้อย่างไร สิ่งที่ฉันพยายาม: 1. ฉันลองใช้คำสั่งเหล่านี้ (แยกกัน, ลบอินสแตนซ์ของ minikube ทั้งสองครั้งและเริ่มใหม่) kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never ผลผลิต: NAME READY STATUS RESTARTS AGE hdfs-2425930030-q0sdl 0/1 ContainerCreating 0 10m มันติดอยู่กับสถานะบางอย่าง แต่ไม่ถึงสถานะพร้อม 2. ฉันพยายามสร้างรีจิสตรีแล้วใส่รูปภาพเข้าไป แต่มันก็ไม่ได้ผลเหมือนกัน ฉันอาจทำอย่างไม่ถูกต้อง แต่ฉันไม่สามารถหาคำแนะนำที่เหมาะสมในการทำงานนี้ โปรดให้คำแนะนำในการใช้อิมเมจ docker แบบโลคัลในอินสแตนซ์ kubernetes ท้องถิ่น ระบบปฏิบัติการ: ubuntu 16.04 Docker: Docker รุ่น …

4
จะตั้งชื่อภาพใน Dockerfile ได้อย่างไร?
คุณสามารถตั้งชื่อภาพเมื่อสร้างภาพที่กำหนดเองเช่นนี้: docker build -t dude/man:v2 . # Will be named dude/man:v2 มีวิธีการกำหนดชื่อของภาพใน Dockerfile ดังนั้นฉันไม่ต้องพูดถึงมันในdocker buildคำสั่งหรือไม่?
299 docker  tags  dockerfile 

7
ฉันจะเพิ่มปริมาณให้กับคอนเทนเนอร์ Docker ที่มีอยู่ได้อย่างไร
ฉันมีคอนเทนเนอร์ Docker ที่ฉันสร้างขึ้นโดยติดตั้ง Docker บน Ubuntu และทำ: sudo docker run -i -t ubuntu /bin/bash ฉันเริ่มติดตั้ง Java และเครื่องมืออื่น ๆ ทันทีใช้เวลากับมันและหยุดการทำงานของคอนเทนเนอร์ exit จากนั้นฉันต้องการเพิ่มปริมาณและตระหนักว่าสิ่งนี้ไม่ตรงไปตรงมาอย่างที่ฉันคิดไว้ ถ้าฉันใช้sudo docker -v /somedir run ...แล้วฉันจะจบด้วยคอนเทนเนอร์ใหม่ที่สดใหม่ดังนั้นฉันจะต้องติดตั้ง Java และทำสิ่งที่ฉันได้ทำไปแล้วก่อนที่จะมาถึงที่ภาชนะที่มีปริมาณการติดตั้ง เอกสารทั้งหมดเกี่ยวกับการติดตั้งโฟลเดอร์จากโฮสต์ดูเหมือนจะบอกเป็นนัยว่าการติดตั้งไดรฟ์ข้อมูลเป็นสิ่งที่สามารถทำได้เมื่อสร้างคอนเทนเนอร์ ตัวเลือกเดียวที่ฉันต้องหลีกเลี่ยงการกำหนดค่าคอนเทนเนอร์ใหม่ตั้งแต่เริ่มต้นคือการยอมรับคอนเทนเนอร์ที่มีอยู่กับที่เก็บและใช้เป็นพื้นฐานของคอนเทนเนอร์ใหม่ในขณะที่ติดตั้งไดรฟ์ นี่เป็นวิธีเดียวที่จะเพิ่มโวลุ่มไปยังคอนเทนเนอร์ที่มีอยู่ได้หรือไม่?
297 docker 


9
ความแตกต่างระหว่าง RUN และ CMD ใน Dockerfile
ฉันสับสนเกี่ยวกับเมื่อฉันควรใช้VSCMD RUNตัวอย่างเช่นในการรันคำสั่ง bash / shell (เช่นls -la) ฉันมักจะใช้CMDหรือมีสถานการณ์ที่ฉันจะใช้RUNหรือไม่? พยายามทำความเข้าใจแนวปฏิบัติที่ดีที่สุดเกี่ยวกับDockerfileคำสั่งที่คล้ายกันสองประการนี้
294 docker  dockerfile 

3
ความแตกต่างระหว่างลิงก์และ depend_on ใน docker_compose.yml
ตามเอกสารประกอบการเขียนของไฟล์ Docker Compose : depends_on - แสดงการพึ่งพาระหว่างบริการอย่างชัดเจน links- เชื่อมโยงไปยังภาชนะในการให้บริการอื่นและยังแสดงการพึ่งพาระหว่างบริการในลักษณะเดียวกับdepends_on ฉันไม่เข้าใจวัตถุประสงค์ของการเชื่อมโยงไปยังคอนเทนเนอร์อื่นดังนั้นความแตกต่างระหว่างสองตัวเลือกยังคงเป็นเรื่องยากสำหรับฉัน มันจะง่ายขึ้นถ้ามีตัวอย่าง แต่ฉันไม่สามารถหาได้ ฉันสังเกตเห็นเมื่อฉันเชื่อมโยงคอนเทนเนอร์ B กับคอนเทนเนอร์ A คอนเทนเนอร์ B จะเป็น "pingable" ภายในเชลล์ของคอนเทนเนอร์ A ฉันวิ่งping Bเข้าไปใน container A bashและได้ผลเช่นนี้ (เพื่อการอ้างอิงภาพจากอินเทอร์เน็ต)

6
ไม่สามารถติดตั้งแพ็คเกจภายในอิมเมจ docker Ubuntu
ฉันติดตั้ง Ubuntu 14.04 รูปบนตัวเทียบท่า หลังจากนั้นเมื่อฉันพยายามติดตั้งแพ็กเกจภายในอิมเมจของ Ubuntu ฉันจะไม่สามารถค้นหาข้อผิดพลาดของแพ็คเกจได้: apt-get install curl Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package curl จะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?

11
ปฏิเสธสิทธิ์ในการเข้าถึงไดเรกทอรีโฮสต์ใน Docker
กล่าวโดยย่อ: ฉันกำลังพยายามติดตั้งไดเรกทอรีโฮสต์ใน Docker แต่ฉันไม่สามารถเข้าถึงได้จากภายในคอนเทนเนอร์แม้ว่าสิทธิ์การเข้าถึงจะดูดี รายละเอียด: ฉันกำลังทำ sudo docker run -i -v /data1/Downloads:/Downloads ubuntu bash แล้ว ls -al มันทำให้ฉัน: total 8892 drwxr-xr-x. 23 root root 4096 Jun 18 14:34 . drwxr-xr-x. 23 root root 4096 Jun 18 14:34 .. -rwxr-xr-x. 1 root root 0 Jun 18 14:34 .dockerenv -rwx------. 1 root …

14
วิธีเข้าถึงพอร์ตโฮสต์จากคอนเทนเนอร์นักเทียบท่า
ฉันมีนักเทียบท่าที่ใช้งานเจนกินส์ ในฐานะส่วนหนึ่งของกระบวนการสร้างฉันจำเป็นต้องเข้าถึงเว็บเซิร์ฟเวอร์ที่เรียกใช้ในเครื่องบนเครื่องโฮสต์ มีวิธีโฮสต์เว็บเซิร์ฟเวอร์ (ซึ่งสามารถกำหนดค่าให้ทำงานบนพอร์ต) สามารถสัมผัสกับภาชนะเจนกินส์? แก้ไข: ฉันใช้นักเทียบท่าโดยกำเนิดบนเครื่อง Linux UPDATE: นอกจาก @larsks ตอบด้านล่างเพื่อรับที่อยู่ IP ของ Host IP จากเครื่องโฮสต์ฉันทำดังต่อไปนี้: ip addr show docker0 | grep -Po 'inet \K[\d.]+'

18
วิธีการรันงาน cron ภายในคอนเทนเนอร์นักเทียบท่า?
ฉันพยายามเรียกใช้ cronjob ภายในคอนเทนเนอร์ docker ที่เรียกใช้เชลล์สคริปต์ เมื่อวานนี้ฉันค้นหาทั่วทั้งเว็บและล้นสแต็ก แต่ฉันหาโซลูชันที่ใช้งานไม่ได้จริงๆ ฉันจะทำสิ่งนี้ได้อย่างไร แก้ไข: ฉันได้สร้างที่เก็บ github (แสดงความคิดเห็น)กับคอนเทนเนอร์ cron นักเทียบท่าที่ใช้งานได้ซึ่งเรียกใช้เชลล์สคริปต์ในช่วงเวลาที่กำหนด
275 docker  cron  containers  sh 

15
การใช้คำสั่ง RUN ใน Dockerfile ด้วย 'แหล่งที่มา' ไม่ทำงาน
ฉันมี Dockerfile ที่ฉันรวมตัวกันเพื่อติดตั้งสภาพแวดล้อมของ vanilla python (ซึ่งฉันจะทำการติดตั้งแอพ แต่ในภายหลัง) FROM ubuntu:12.04 # required to build certain python libraries RUN apt-get install python-dev -y # install pip - canonical installation instructions from pip-installer.org # http://www.pip-installer.org/en/latest/installing.html ADD https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py /tmp/ez_setup.py ADD https://raw.github.com/pypa/pip/master/contrib/get-pip.py /tmp/get-pip.py RUN python /tmp/ez_setup.py RUN python /tmp/get-pip.py RUN pip install --upgrade pip # …
274 bash  shell  docker 

5
ฉันจะตรวจสอบระบบไฟล์ของ "docker build" ที่ล้มเหลวได้อย่างไร
ฉันกำลังพยายามสร้างอิมเมจ Docker ใหม่สำหรับกระบวนการพัฒนาของเราโดยใช้cpanmเพื่อติดตั้งโมดูล Perl จำนวนมากเป็นอิมเมจพื้นฐานสำหรับโครงการต่างๆ ขณะพัฒนา Dockerfile cpanmส่งคืนรหัสความล้มเหลวเนื่องจากบางโมดูลไม่ได้ติดตั้งอย่างสมบูรณ์ ฉันค่อนข้างแน่ใจว่าฉันต้องaptติดตั้งบางอย่างเพิ่มเติม คำถามของฉันคือฉันจะหาได/.cpanm/workเร็กตอรี่ที่ยกมาในเอาท์พุทได้จากที่ไหนเพื่อตรวจสอบบันทึก? ในกรณีทั่วไปฉันจะตรวจสอบระบบไฟล์ของdocker buildคำสั่งที่ล้มเหลวได้อย่างไร? เช้าแก้ไขหลังจากกัดกระสุนและทำงานfindฉันพบ /var/lib/docker/aufs/diff/3afa404e[...]/.cpanm สิ่งนี้น่าเชื่อถือหรือไม่หรือฉันควรสร้างที่เก็บ "เปล่า" และเรียกใช้ข้อมูลด้วยตนเองจนกว่าฉันจะมีทุกสิ่งที่ฉันต้องการ
272 debugging  docker  cpanm 

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