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

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

23
คำสั่ง Docker ไม่สามารถเชื่อมต่อกับ Docker daemon ได้
ฉันต้องการย้ายไปที่ Docker ดังนั้นฉันเพิ่งเริ่มยุ่งกับมัน ฉันได้ติดตั้ง Docker ในการติดตั้ง VirtualBox Ubuntu 15.10 (Wily Werewolf) และตามที่แนะนำที่นี่ฉันลองใช้อิมเมจnginx Docker พื้นฐาน: $ docker run --name mynginx1 -P -d nginx Cannot connect to the Docker daemon. Is the docker daemon running on this host? ดังนั้นฉันตรวจสอบว่านักเทียบท่ากำลังทำงานอยู่หรือไม่: $ sudo service docker status ● docker.service - Docker Application Container Engine Loaded: …
246 linux  ubuntu  docker  daemon 

8
จะสร้าง Dockerfile จากภาพได้อย่างไร?
เป็นไปได้หรือไม่ที่จะสร้าง Dockerfile จากภาพ? ฉันต้องการทราบด้วยสองเหตุผล: ฉันสามารถดาวน์โหลดภาพจากพื้นที่เก็บข้อมูล แต่ต้องการดูสูตรที่สร้าง ฉันชอบความคิดในการบันทึกสแนปชอต แต่เมื่อฉันทำมันจะเป็นการดีที่มีรูปแบบที่มีโครงสร้างเพื่อตรวจสอบสิ่งที่ทำ
241 image  repository  docker 

6
จะสร้างแท็กที่ระบุชื่อและล่าสุดใน Docker ได้อย่างไร
สมมติว่าฉันมีภาพที่ฉันต้องการติดแท็กเป็น0.10.24(ในกรณีของฉันมันเป็นภาพที่มี Node.js 0.10.24) ฉันสร้างอิมเมจนั้นโดยใช้ Dockerfile และเรียกใช้งานdocker buildและจัดทำแท็กโดยใช้-tพารามิเตอร์ ฉันคาดหวังว่าวันหนึ่งฉันจะมีภาพเพิ่มเติมในเวอร์ชันนั้นดังนั้นฉันจะรันใหม่อีกครั้งโดยใช้ชื่อแท็กอื่น จนถึงตอนนี้ดีมาก มันใช้งานได้ดีและดีและทั้งหมดเป็นอย่างดี แต่และนี่คือที่ที่ปัญหาเริ่มต้นฉันยังต้องการให้มีการติดแท็กโฆษณารูปภาพล่าสุดlatestเสมอ ดังนั้นฉันคิดว่าฉันต้องให้ชื่อสองชื่อในภาพเดียวกัน ฉันจะทำสิ่งนี้ได้อย่างไร ฉันจำเป็นต้องเปิดใช้docker buildงานเวอร์ชันเดิมซ้ำอีกครั้ง แต่คราวนี้ใช้แท็กอื่นมีตัวเลือกที่ดีกว่านี้หรือไม่
241 docker  tags 

7
โคลน repo คอมไพล์ส่วนตัวด้วย dockerfile
ฉันได้คัดลอกรหัสนี้จากสิ่งที่ดูเหมือนจะทำงานได้หลากหลาย dockerfiles นี่คือของฉัน: FROM ubuntu MAINTAINER Luke Crooks "luke@pumalo.org" # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git python-virtualenv # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD id_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN …
240 git  bitbucket  docker 

16
ทำไมนักเทียบท่าออกจากตู้ทันที
ฉันใช้คอนเทนเนอร์ในพื้นหลังโดยใช้ docker run -d --name hadoop h_Service มันออกอย่างรวดเร็ว แต่ถ้าฉันวิ่งไปเบื้องหน้ามันก็ใช้ได้ดี ฉันตรวจสอบบันทึกโดยใช้ docker logs hadoop ไม่มีข้อผิดพลาด ความคิดใด ๆ DOCKERFILE FROM java_ubuntu_new RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb RUN dpkg -i cdh4-repository_1.0_all.deb RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add - RUN apt-get update RUN apt-get install -y hadoop-0.20-conf-pseudo RUN dpkg -L hadoop-0.20-conf-pseudo USER hdfs RUN hdfs …
239 docker 

9
คอนเทนเนอร์ Windows สามารถโฮสต์บน linux ได้หรือไม่
เป็นไปได้ไหมที่จะใช้งานWindows ContainersบนLinux ? สถานการณ์จะขึ้นอยู่กับแอปเขียนใน.NET (สุทธิเก่า) และผู้ใช้ลินุกซ์ที่ต้องการที่จะทำงานนี้กับนักเทียบท่าเพื่อให้net462API localhostเขียนบน ฉันใช้รุ่นเบต้าจากDocker Desktop สำหรับ Windows ถ้าไม่เช่นนั้นทำไม Windows จึงสามารถเรียกใช้คอนเทนเนอร์ของ Linux และไม่กลับกันได้ แก้ไข: เมื่อเวลาผ่านไปและคำถามนี้เป็นคำถามยอดนิยม ฉันต้องการเพิ่มโน้ตหนึ่งที่นี่ว่าวิธีแก้ปัญหาคือใช้ netstandard ใหม่ มันอนุญาตให้ฉันแพ็ค4.6.2เฟรมเวิร์กในไลบรารีใหม่


9
วิธีเมานต์ไดรฟ์ข้อมูลโฮสต์ลงในคอนเทนเนอร์นักเทียบท่าใน Dockerfile ระหว่างการสร้าง
คำถามเดิม: วิธีใช้คำสั่ง VOLUME ใน Dockerfile คำถามที่เกิดขึ้นจริงที่ฉันต้องการที่จะแก้ปัญหาคือ - วิธีการติดตั้งไดรฟ์เป็นเจ้าภาพในภาชนะนักเทียบท่าใน Dockerfile ในระหว่างการสร้างคือการมีความสามารถในช่วงdocker run -v /export:/exportdocker build เหตุผลที่อยู่เบื้องหลังสำหรับฉันคือเมื่อสร้างสิ่งต่าง ๆ ใน Docker ฉันไม่ต้องการให้apt-get installแคช( ) เหล่านั้นล็อกใน docker เดียว แต่เพื่อแบ่งปัน / นำกลับมาใช้ใหม่ นั่นเป็นเหตุผลหลักที่ฉันถามคำถามนี้ ปรับปรุงล่าสุด: ก่อนที่นักเทียบท่า v18.09 คำตอบที่ถูกต้องควรเป็นคำตอบที่ขึ้นต้นด้วย: มีวิธีการเมานต์โวลุ่มในระหว่างบิลด์ แต่ไม่เกี่ยวข้องกับ Dockerfiles อย่างไรก็ตามนั่นเป็นคำตอบที่ได้รับการจัดการและสนับสนุนที่ไม่ดี เมื่อฉันติดตั้งนักเทียบท่าฉันมีฉันบังเอิญสะดุดกับบทความต่อไปนี้: เชื่อมต่อบริการ apt-cacher-ng https://docs.docker.com/engine/examples/apt-cacher-ng/ นั่นเป็นวิธีแก้ปัญหาของนักเทียบท่าสำหรับคำถามนี้ไม่ใช่โดยตรง แต่โดยอ้อม มันเป็นวิธีที่นักเทียบท่าดั้งเดิมแนะนำให้เราทำ และฉันก็ยอมรับว่ามันดีกว่าที่ฉันพยายามถามที่นี่ อีกวิธีหนึ่งคือคำตอบที่ยอมรับใหม่เช่น Buildkit ใน v18.09 เลือกสิ่งที่เหมาะกับคุณ เป็น:มีวิธีแก้ปัญหา …
236 share  docker  host  mount 


3
นักเทียบท่า: เพิ่มนโยบายการเริ่มระบบใหม่ไปยังคอนเทนเนอร์ที่สร้างขึ้นแล้ว
ฉันเห็นว่านักเทียบท่าได้เพิ่มสิ่งที่เรียกว่านโยบายการรีสตาร์ทเพื่อจัดการการรีสตาร์ทคอนเทนเนอร์ในกรณีเช่นรีบูต ขณะนี้มีประโยชน์มากผมเห็นว่าคำสั่งนโยบายที่เริ่มต้นเพียงแค่ทำงานร่วมกับและไม่ได้docker run docker startดังนั้นคำถามของฉันคือ: มีวิธีใดบ้างที่จะเพิ่มนโยบายการเริ่มระบบใหม่ไปยังคอนเทนเนอร์ที่สร้างไว้แล้วในอดีตหรือไม่?
229 docker 

20
ฉันกำลังพยายามเชื่อมต่อกับ daemon ที่เปิดใช้งาน TLS โดยไม่มี TLS หรือไม่
ฉันพยายามเรียนรู้เกี่ยวกับนักเทียบท่าแต่ฉันได้รับข้อความแสดงข้อผิดพลาดที่เป็นความลับ อาจเป็นตัวอย่างที่ง่ายที่สุดของเรื่องนี้คือพยายามพิมพ์เวอร์ชันของ Docker I ที่ติดตั้ง: $ sudo docker version Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.3.3 Git commit (client): 5bc2ff8 OS/Arch (client): darwin/amd64 FATA[0000] Get http:///var/run/docker.sock/v1.16/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? ฉันเพิ่งอ่านคู่มือผู้ใช้และทำตามขั้นตอนทุกขั้นตอนดังนั้นฉันจึงประหลาดใจที่ฉันได้รับข้อความนี้ …
221 docker 

10
วิธีการสร้างคอนเทนเนอร์นักเทียบท่าใน docker-compose.yml
มีขอบเขตของบริการที่กำหนดไว้ใน docker-compose.yml บริการเหล่านี้เริ่มต้นแล้ว ฉันจำเป็นต้องสร้างใหม่เพียงหนึ่งสิ่งเหล่านี้และเริ่มต้นโดยไม่มีบริการอื่น ๆ ฉันรันคำสั่งต่อไปนี้: docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build --no-cache nginx docker-compose up -d --no-deps # link nginx to other services ในตอนท้ายฉันได้รับ nginx container เก่า โดยนักเทียบท่าเขียนไม่ได้ฆ่าภาชนะที่ใช้งานทั้งหมด!

13
วิธีการใช้ตัวแปรสภาพแวดล้อมในนักเทียบท่าเขียน
ฉันต้องการใช้ตัวแปร env ภายใน docker-compose.yml โดยมีค่าที่ส่งผ่านไปในเวลาที่นักเทียบท่าเขียนขึ้น นี่คือตัวอย่าง ฉันกำลังทำสิ่งนี้ในวันนี้โดยใช้คำสั่งเรียกใช้นักเทียบท่าพื้นฐานซึ่งมีสคริปต์ของตัวเอง มีวิธีการที่จะทำให้มันสำเร็จโดยการเขียน proxy: hostname: $hostname volumes: - /mnt/data/logs/$hostname:/logs - /mnt/data/$hostname:/data

8
นักเทียบท่า: ไม่พบไฟล์ปฏิบัติการใน $ PATH
ฉันมีภาพนักเทียบท่าที่ติดตั้งgruntแต่เมื่อฉันพยายามเรียกใช้ฉันได้รับข้อผิดพลาด: Error response from daemon: Cannot start container foo_1: \ exec: "grunt serve": executable file not found in $PATH ถ้าฉันใช้ bash ในโหมดอินเตอร์แอคทีฟgruntก็สามารถใช้ได้ ผมทำอะไรผิดหรือเปล่า? นี่คือ Dockerfile ของฉัน: # https://registry.hub.docker.com/u/dockerfile/nodejs/ (builds on ubuntu:14.04) FROM dockerfile/nodejs MAINTAINER My Name, me@email.com ENV HOME /home/web WORKDIR /home/web/site RUN useradd web -d /home/web -s /bin/bash -m …
216 docker 

6
นักเทียบท่า: หลายนักเทียบท่าในโครงการ
คุณจะจัดระเบียบ Dockerfiles ที่เป็นของโครงการได้อย่างไรเมื่อคุณมีหนึ่ง Dockerfile สำหรับฐานข้อมูลหนึ่งสำหรับแอปพลิเคชันเซิร์ฟเวอร์และอื่น ๆ คุณสร้างลำดับขั้นในแหล่งที่มาหรือไม่? โครงการองค์กรขนาดใหญ่ต้องไม่ประกอบด้วย Dockerfile เดียวเท่านั้น
215 docker 

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