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

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

3
เปลี่ยนคำสั่งไดเรกทอรีใน Docker หรือไม่
ในนักเทียบท่าฉันต้องการทำสิ่งนี้: git clone XYZ cd XYZ make XYZ อย่างไรก็ตามเนื่องจากไม่มีคำสั่ง cd ฉันต้องผ่านเส้นทางแบบเต็มทุกครั้ง (ทำ XYZ / fullpath) มีวิธีแก้ปัญหาที่ดีสำหรับสิ่งนี้หรือไม่?
214 docker  cd 

4
คำสั่ง ps ไม่ทำงานในคอนเทนเนอร์นักเทียบท่า
ฉันต้องการที่จะทำคำสั่ง ps ในภาชนะนักเทียบท่าที่ได้มาจากที่เก็บฮับอย่างเป็นทางการของเดเบียน: $ docker run -ti debian:wheezy /bin/bash root@51afd6b09af8:/# ps bash: ps: command not found
214 debian  docker 

13
คุณจะทำรายการไดรฟ์ข้อมูลในคอนเทนเนอร์นักเทียบท่าได้อย่างไร
เมื่อใช้ภาพนักเทียบท่าจากการลงทะเบียนฉันมักจะต้องดูปริมาณที่สร้างโดยภาชนะของภาพ หมายเหตุ: ฉันใช้นักเทียบท่ารุ่น 1.3.2 กับ Red Hat 7 ตัวอย่าง postgresภาพอย่างเป็นทางการจากหาง Registry /var/lib/postgresql/dataมีปริมาณการกำหนดค่าสำหรับภาชนะบรรจุที่ คำสั่งที่รวบรัดที่สุดในการแสดงระดับเสียง/var/lib/postgresql/dataในpostgresคอนเทนเนอร์คืออะไร?
213 docker 

7
วิธีสร้างผู้ใช้ / ฐานข้อมูลในสคริปต์สำหรับ Docker Postgres
ฉันพยายามตั้งค่าคอนเทนเนอร์สำหรับอินสแตนซ์ postgres การพัฒนาโดยการสร้างผู้ใช้ & ฐานข้อมูลแบบกำหนดเอง ฉันใช้อย่างเป็นทางการภาพ postgres นักเทียบท่า ในเอกสารคู่มือนั้นแนะนำให้คุณใส่ bash script ภายใน/docker-entrypoint-initdb.d/โฟลเดอร์เพื่อตั้งค่าฐานข้อมูลด้วยพารามิเตอร์ที่กำหนดเอง สคริปต์ทุบตีของฉัน: make_db.sh su postgres -c "createuser -w -d -r -s docker" su postgres -c "createdb -O docker docker" Dockerfile FROM library/postgres RUN ["mkdir", "/docker-entrypoint-initdb.d"] ADD make_db.sh /docker-entrypoint-initdb.d/ ข้อผิดพลาดที่ฉันได้รับจากdocker logs -f db(db คือชื่อคอนเทนเนอร์ของฉัน) คือ: createuser: ไม่สามารถเชื่อมต่อกับฐานข้อมูล postgres: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว …

4
วิธีใช้ทุบตีกับภาพนักเทียบท่าที่ใช้อัลไพน์?
ฉันสร้างภาพนักเทียบท่าจาก openjdk: 8-jdk-alpine แต่เมื่อฉันพยายามรันคำสั่งง่ายๆฉันได้รับข้อผิดพลาดต่อไปนี้: RUN bash /bin/sh: bash: not found RUN ./gradlew build env: can't execute 'bash': No such file or directory

8
เพิ่มระดับเสียงใน Docker แต่ไม่รวมโฟลเดอร์ย่อย
/hostFolderควรฉันมีภาชนะเทียบท่าและโฟลเดอร์บนโฮสต์ของฉัน ตอนนี้ถ้าฉันต้องการเพิ่มโฟลเดอร์นี้ลงในคอนเทนเนอร์ Docker เป็นโวลุ่มฉันก็สามารถทำได้โดยใช้ADDในDockerfileหรือติดตั้งเป็นโวลุ่ม จนถึงตอนนี้ดีมาก ขณะนี้/hostFolderมีโฟลเดอร์ย่อย, /hostFolder/subFolder. ฉันต้องการเมานต์/hostFolderลงในคอนเทนเนอร์ Docker (ไม่ว่าจะเป็นอ่าน - เขียนหรืออ่านอย่างเดียวไม่สำคัญว่าทำงานได้ทั้งฉัน) แต่ฉันไม่ต้องการรวมไว้/hostFolder/subFolderด้วย ฉันต้องการยกเว้นสิ่งนี้และฉันต้องการให้ Docker container สามารถทำการเปลี่ยนแปลงในโฟลเดอร์ย่อยนี้ได้โดยไม่ต้องมีการเปลี่ยนแปลงในโฮสต์เช่นกัน เป็นไปได้ไหม ถ้าเป็นเช่นนั้นได้อย่างไร
210 docker  dockerfile 


19
ฉันจะแสดงรายการแท็กทั้งหมดสำหรับภาพ Docker ในรีจิสตรีระยะไกลได้อย่างไร
ฉันจะแสดงรายการแท็กทั้งหมดของอิมเมจ Docker ในรีโมตรีจิสทรี Docker โดยใช้ CLI (ที่ต้องการ) หรือ curl ได้อย่างไร โดยไม่ต้องดึงทุกรุ่นจากรีโมตรีโมต ฉันต้องการแสดงรายการแท็ก
206 docker 

7
สับสนเกี่ยวกับตัวเลือก Docker -t เพื่อจัดสรร pseudo-TTY
ตัวเลือกนี้จะทำอะไรกันแน่? ฉันอ่าน TTY มากและยังคงสับสนอยู่ ผมเล่นไปรอบ ๆ ด้วยไม่ได้มี-tเพียงและดูเหมือนว่าโปรแกรมที่คาดหวังว่าผู้ใช้ป้อนโยนความผิดพลาดโดยไม่ต้อง-i -tทำไมการเปิดใช้งานหลอก -TTY จึงสำคัญ?
206 docker  tty  pty 

5
ฉันจะกำหนดชื่อของภาพที่สร้างขึ้นด้วยองค์ประกอบนักเทียบท่าได้อย่างไร
ฉันใช้นักแต่งเพื่อสร้างสภาพแวดล้อมการพัฒนาของฉัน ฉันต้องการสร้างภาพเฉพาะ แต่ฉันไม่ทราบวิธีตั้งชื่อให้กับภาพนั้น wildfly: build: /path/to/dir/Dockerfile container_name: wildfly_server ports: - 9990:9990 - 80:8080 environment: - MYSQL_HOST=mysql_server - MONGO_HOST=mongo_server - ELASTIC_HOST=elasticsearch_server volumes: - /Volumes/CaseSensitive/development/wildfly/deployments/:/opt/jboss/wildfly/standalone/deployments/ links: - mysql:mysql_server - mongo:mongo_server - elasticsearch:elasticsearch_server เมื่อฉันรันdocker-composeทุกอย่างก็โอเค แต่ฉันได้รับชื่อแบบสุ่มสำหรับภาพใหม่ เป็นไปได้ไหมที่จะตั้งชื่อให้กับอิมเมจการสร้าง?

16
วิธีอัปเดตคอนเทนเนอร์นักเทียบท่าของคุณโดยอัตโนมัติหากอัปเดตภาพฐาน
ว่าฉันมีภาชนะเล็ก ๆ น้อย ๆ ubuntu:latestอยู่บนพื้นฐานของ ขณะนี้มีการปรับปรุงความปลอดภัยและubuntu:latestได้รับการปรับปรุงใน repo นักเทียบท่า ฉันจะรู้ได้อย่างไรว่าภาพในตัวเครื่องของฉันและที่บรรจุอยู่นั้นกำลังทำงานอยู่? มีวิธีปฏิบัติที่ดีที่สุดสำหรับการอัปเดตรูปภาพและตู้คอนเทนเนอร์ในเครื่องโดยอัตโนมัติเพื่อติดตามการอัพเดท repo docker หรือไม่

4
ไม่พบคำสั่งนักเทียบท่าแม้ว่าจะติดตั้งด้วย apt-get ก็ตาม
การเพิ่มสิ่งนี้สำหรับการอ้างอิงสำหรับผู้อื่นเพราะมันจะช่วยฉัน 10 นาทีถ้าคำตอบนั้นมีอยู่ ฉันลองติดตั้ง Docker โดยใช้ Ubuntu 14.0LTS virtualbox sudo apt get install docker อย่างไรก็ตามเมื่อฉันลองใช้นักเทียบท่ามันทำให้ฉันมีข้อผิดพลาดดังต่อไปนี้ The program 'docker' is currently not installed. You can install it by typing: sudo apt-get install docker ทำไมอูบุนตูจึงไม่เห็นนักเทียบท่า?

8
กำหนด IP แบบคงที่ให้กับคอนเทนเนอร์ Docker
ตอนนี้ฉันกำลังพยายามกำหนด IP แบบคงที่ 172.17.0.1 เมื่อเริ่มต้นคอนเทนเนอร์นักเทียบท่า ฉันใช้พอร์ต 2122 เป็นพอร์ต ssh ของคอนเทนเนอร์นี้เพื่อที่ฉันจะให้คอนเทนเนอร์นี้ฟังพอร์ต 2122 sudo docker run -i -t -p 2122:2122 ubuntu คำสั่งนี้จะเรียกใช้ Docker container ที่มี IP แบบสุ่มเช่น 172.17.0.5 แต่ฉันต้องกำหนด IP เฉพาะให้กับคอนเทนเนอร์ เชลล์สคริปต์ต่อไปนี้คือสิ่งที่ฉันอ้างอิงเอกสารนักเทียบท่าในการตั้งค่าเครือข่ายขั้นสูง pid=$(sudo docker inspect -f '{{.State.Pid}}' <container_name> 2>/dev/null) sudo rm -rf /var/run/netns/* sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid sudo ip link add …
205 docker 

4
วิธีเก็บข้อมูลในฐานข้อมูล postgres ที่ปรับเทียบแล้วโดยใช้วอลุ่ม
ไฟล์เขียนของนักเทียบท่าของฉันมีสามคอนเทนเนอร์เว็บ nginx และ postgres Postgres มีลักษณะเช่นนี้: postgres: container_name: postgres restart: always image: postgres:latest volumes: - ./database:/var/lib/postgresql ports: - "5432:5432 เป้าหมายของฉันคือการติดปริมาณซึ่งสอดคล้องกับโฟลเดอร์ท้องถิ่นเรียกว่า./databaseภายใน postgres /var/lib/postgresคอนเทนเนอร์ เมื่อฉันเริ่มต้นคอนเทนเนอร์เหล่านี้และแทรกข้อมูลลงใน postgres ฉันตรวจสอบว่า/var/lib/postgres/data/base/เต็มไปด้วยข้อมูลที่ฉันเพิ่ม (ในคอนเทนเนอร์ postgres) แต่ในระบบท้องถิ่นของฉัน./databaseจะได้รับdataโฟลเดอร์เท่านั้นเช่น./database/dataถูกสร้างขึ้น แต่ว่างเปล่า . ทำไม? หมายเหตุ: ไฟล์นี้แนะนำว่าไฟล์ด้านบนของฉันควรใช้งานได้ บุคคลนี้ใช้บริการนักเทียบท่าซึ่งน่าสนใจ อัพเดท 1 ตามคำแนะนำของ Nick ฉันได้docker inspectและพบ: "Mounts": [ { "Source": "/Users/alex/Documents/MyApp/database", "Destination": "/var/lib/postgresql", "Mode": "rw", "RW": …

19
เครือข่ายหมดเวลาขณะพยายามเชื่อมต่อกับ https://index.docker.io
ฉันติดตั้งDocker-Toolboxในขณะนี้ขณะที่ติดตามหน้าเว็บของพวกเขา ฉันเริ่มDocker QuickStart Terminalและดูต่อไปนี้ ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ docker is configured to use the default machine with IP 192.168.99.100 For help getting started, …

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