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

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

5
E: gnupg, gnupg2 และ gnupg1 ดูเหมือนจะไม่ได้รับการติดตั้ง แต่จำเป็นต้องใช้หนึ่งในนั้นสำหรับการดำเนินการนี้
ฉันได้ติดตั้งนักเทียบท่าบน windows 10 pro แล้ว ฉันประสบปัญหาขณะเรียกใช้คำสั่งต่อไปนี้ใน git-bash นักเทียบท่าเขียนขึ้น -d - build และมีข้อผิดพลาดดังต่อไปนี้ E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation (23) Failed writing body Error executing command, exiting ERROR: Service 'web' failed to build: The command '/bin/sh -c …

5
การปรับใช้แอพขวดขั้นต่ำในนักเทียบท่า - ปัญหาการเชื่อมต่อเซิร์ฟเวอร์
ฉันมี app 5000ที่เป็นเพียงการพึ่งพาเป็นกระติกน้ำซึ่งไหลนักเทียบท่าอยู่ข้างนอกดีและผูกกับพอร์ตเริ่มต้น นี่คือแหล่งที่มาทั้งหมด: from flask import Flask app = Flask(__name__) app.debug = True @app.route('/') def main(): return 'hi' if __name__ == '__main__': app.run() ปัญหาคือเมื่อฉันปรับใช้สิ่งนี้ในนักเทียบท่าเซิร์ฟเวอร์กำลังทำงาน แต่ไม่สามารถเข้าถึงได้จากภายนอกคอนเทนเนอร์ ด้านล่างนี้คือ Dockerfile ของฉัน ภาพเป็น Ubuntu ที่ติดตั้งกระติกน้ำ น้ำมันดินมีเพียงindex.pyรายการด้านบน # Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz …

7
คุณดำเนินการย้ายฐานข้อมูล Django อย่างไรเมื่อใช้ Docker-Compose
ฉันได้ตั้งค่าแอปหาง Django / PostgreSQL อย่างใกล้ชิดต่อไปนี้คำแนะนำ Django Quick Start บนเว็บไซต์เทียบท่า ครั้งแรกที่ฉันเรียกใช้ Manage.py migrate ของ Django โดยใช้คำสั่งsudo docker-compose run web python manage.py migrateมันทำงานได้ตามที่คาดไว้ ฐานข้อมูลถูกสร้างขึ้นภายในคอนเทนเนอร์ Docker PostgreSQL ได้ดี การเปลี่ยนแปลงที่เกิดขึ้นกับแอป Django เองก็สะท้อนให้เห็นในคอนเทนเนอร์ Docker Django เช่นเดียวกันในขณะที่ฉันบันทึก มันยอดมาก! แต่ถ้าฉันเปลี่ยนโมเดลใน Django และพยายามอัปเดตฐานข้อมูล Postgres ให้ตรงกับโมเดลจะไม่มีการตรวจพบการเปลี่ยนแปลงดังนั้นจึงไม่มีการย้ายข้อมูลไม่ว่าฉันจะเรียกใช้กี่ครั้งmakemigrationsหรือmigrateอีกครั้ง โดยทั่วไปทุกครั้งที่ฉันเปลี่ยนโมเดล Django ฉันต้องลบคอนเทนเนอร์ Docker (โดยใช้sudo docker-compose rm) และเริ่มต้นใหม่ด้วยการย้ายข้อมูลใหม่ ฉันยังคงพยายามเอาหัวของฉันไปรอบ ๆ Docker และมีหลายอย่างที่แย่มากที่ฉันไม่เข้าใจเกี่ยวกับวิธีการทำงาน แต่สิ่งนี้ทำให้ฉันรู้สึกแย่ …

5
วิธีใดเป็นวิธีที่ดีที่สุดในการส่งข้อมูลรับรอง AWS ไปยัง Docker container
ฉันใช้งาน Docker-container บน Amazon EC2 ขณะนี้ฉันได้เพิ่ม AWS Credentials ไปยัง Dockerfile แล้ว โปรดแจ้งให้เราทราบวิธีที่ดีที่สุดในการดำเนินการนี้ได้ไหม

1
Elixir / Erlang เข้ากับวิธีการของไมโครเซอร์วิสได้ที่ไหน? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อเร็ว ๆ นี้ฉันได้ทำการทดลองกับนักเทียบท่าเพื่อปรับใช้ไมโครเซอร์วิสที่ทำงานร่วมกันได้หลายตัว ฉันเห็นประโยชน์มากมายที่ไมโครเซอร์วิสมอบให้และตอนนี้มีชุดเครื่องมือที่ดีสำหรับการจัดการแล้วฉันคิดว่ามันไม่ยากเลยที่จะกระโดดเข้าไปในรถบรรทุกขนาดเล็ก แต่ฉันได้ทดลองกับ Elixir ด้วยและฉันก็ค่อนข้างชอบประโยชน์ที่ได้รับจากตัวมันเอง เนื่องจากมันสนับสนุนให้บรรจุรหัสของคุณลงในแอปพลิเคชันที่แยกตัวออกมาหลายตัวและรองรับการอัปเกรดรหัสร้อนคุณจะผสมนักเทียบท่ากับยาอมฤต (หรือ erlang สำหรับเรื่องนั้นอย่างไร) ตัวอย่างเช่นถ้าฉันต้องการใช้นักเทียบท่าเพราะมันมีความเท่าเทียมกันของ dev-prod ยาอมจะเข้ากันได้อย่างไร? เนื่องจากคอนเทนเนอร์นักเทียบท่าไม่เปลี่ยนรูปฉันจึงสูญเสียความสามารถในการอัปเกรดรหัสด่วนใช่ไหม? สิ่งที่เกี่ยวกับการปรับใช้สีน้ำเงิน / เขียวหรือการเผยแพร่ Canary? ฉันหมายความว่าฉันสามารถเขียน microservices ด้วย Elixir และใช้งานได้ราวกับว่ามันถูกเขียนในภาษาอื่น ๆ การพูดหลายภาษาก็เป็นประโยชน์อย่างหนึ่งของ microservices อยู่ดี แต่ฉันก็ไม่ได้รับประโยชน์เต็มที่จากการใช้แพลตฟอร์ม OTP เดาว่าแอปพลิเคชัน Erlang ที่ทำงานร่วมกันอย่างแท้จริงเป็นวิธีที่ดีที่สุดในการใช้คิวกลางเพื่อสื่อสารระหว่างไมโครเซอร์วิสที่เขียนด้วยภาษา (หรือไม่) ที่แตกต่างกัน

7
วิธีเพิ่มหน่วยความจำของเครื่องเทียบท่า Mac
ฉันใหม่เพื่อเทียบท่าและพยายามที่จะไปผ่านการตั้งค่าการกวดวิชานี้ขึ้น MemSQL จากรูปหาง - http://docs.memsql.com/4.0/setup/docker/ ฉันใช้ Mac และบทช่วยสอนใช้boot2dockerซึ่งดูเหมือนว่าจะเลิกใช้แล้ว VM ต้องการหน่วยความจำ 4GB เพื่อทำงาน บทช่วยสอนระบุวิธีดำเนินการboot2dockerแต่ฉันไม่พบวิธีดำเนินการกับกล่องเครื่องมือนักเทียบท่าเครื่อง / นักเทียบท่า นี่คือคำสั่งที่ฉันใช้และข้อผิดพลาดที่ฉันได้รับเพียงพยายามทำตามบทช่วยสอนโดยไม่แก้ไขการกำหนดค่า boot2docker docker run --rm --net=host memsql/quickstart check-system Error: MemSQL requires at least 4 GB of memory to run.

2
นักเทียบท่าเมาท์วอลุ่มแบบอ่านอย่างเดียว
ฉันกำลังทำงานกับ Docker และฉันต้องการเมานต์โฟลเดอร์ไดนามิกที่เปลี่ยนไปมาก (ดังนั้นฉันจะไม่ต้องสร้างอิมเมจ Docker สำหรับการเรียกใช้งานแต่ละครั้งซึ่งจะเสียค่าใช้จ่ายสูงเกินไป) แต่ฉันต้องการให้โฟลเดอร์นั้นเป็นแบบอ่านอย่างเดียว . การเปลี่ยนเจ้าของโฟลเดอร์เป็นคนอื่นใช้งานได้ อย่างไรก็ตามchownจำเป็นต้องมีrootการเข้าถึงซึ่งฉันไม่ต้องการเปิดเผยกับแอปพลิเคชัน เมื่อฉันใช้-vแฟล็กเพื่อเมานต์มันจะให้ชื่อผู้ใช้อะไรก็ตามที่ฉันให้ฉันสร้างผู้ใช้ที่ไม่ใช่รูทภายในอิมเมจนักเทียบท่าอย่างไรก็ตามไฟล์ทั้งหมดในโวลุ่มโดยมีเจ้าของเป็นผู้ใช้ที่รันนักเทียบท่าเปลี่ยนเป็นผู้ใช้ I ให้จากบรรทัดคำสั่งดังนั้นฉันจึงไม่สามารถสร้างไฟล์และโฟลเดอร์แบบอ่านอย่างเดียวได้ ฉันจะป้องกันสิ่งนี้ได้อย่างไร? ฉันเพิ่มเข้าไปmustafa ALL=(docker) NOPASSWD: /usr/bin/dockerด้วยดังนั้นฉันจึงสามารถเปลี่ยนเป็นผู้ใช้รายอื่นผ่านเทอร์มินัลได้ แต่ไฟล์ยังมีสิทธิ์สำหรับผู้ใช้ของฉัน
109 readonly  docker 

14
จะติดตั้ง nvm ใน Docker ได้อย่างไร?
ฉันอยู่ในขั้นตอนการสร้างอิมเมจ Docker ใหม่และฉันต้องการติดตั้ง NVM เพื่อที่ฉันจะได้จัดการ nodejs การอ่านเอกสารเกี่ยวกับวิธีการติดตั้ง NVM ที่พวกเขาระบุว่าคุณต้องจัดหาไฟล์. bashrc ของคุณเพื่อเริ่มใช้ NVM ฉันพยายามตั้งค่านี้ใน Dockerfile แต่จนถึงขณะนี้การสร้างล้มเหลวด้วยข้อผิดพลาด: "bash: nvm: ไม่พบคำสั่ง" บรรทัดที่เกี่ยวข้องจาก Dockerfile ของฉันมีดังนี้: ADD files/nvm_install.sh /root/ RUN chmod a+x /root/nvm_install.sh RUN bash -c "/root/nvm_install.sh" RUN bash -l -c "source /root/.bashrc" RUN cd /root RUN bash -l -c "nvm install 0.10.31" นี่คือผลลัพธ์จากการพยายามสร้าง: นักเทียบท่าสร้าง …
109 node.js  docker  nvm 

4
ปิดใช้งาน Docker Networking: คำเตือน: การส่งต่อ IPv4 ถูกปิดใช้งาน เครือข่ายจะไม่ทำงาน
คอนเทนเนอร์ในโฮสต์ "จู่ๆ" ก็สูญเสียการเชื่อมต่อกับคอนเทนเนอร์นอกโลก อย่างไรก็ตามโฮสต์บางคนได้รับการรีเฟรชและทันใดนั้นเราก็มีสถานการณ์ต่อไปนี้: โฮสต์สามารถสื่อสารกับโฮสต์อื่น ๆ คอนเทนเนอร์ที่ทำงานในโฮสต์ไม่สามารถสื่อสารกับโฮสต์อื่นได้ นี่คือตัวอย่าง: [root@pprdespap322 deploy]# ping ci.docker.company.net PING pprdespap324.corp.company.net (10.137.55.22) 56(84) bytes of data. 64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=1 ttl=64 time=0.282 ms 64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=2 ttl=64 time=0.341 ms ^C --- pprdespap324.corp.company.net ping statistics --- 2 packets transmitted, 2 received, 0% packet …

5
นักเทียบท่าเขียนเรียกใช้คอนเทนเนอร์ใน net: host
ฉันต้องการวางไข่ 3 บริการในเน็ต "โฮสต์" โดยใช้ Docker-compose นี่คือไฟล์ docker-compose.yml ของฉัน: version: '2' services: mysql: image: mysql net: "host" nginx: image: nginx net: "host" app: image: tomcat net: "host" ฉันได้รับข้อผิดพลาดต่อไปนี้: $ docker-compose up [31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s): Unsupported config option for services.app: 'net' Unsupported config option for services.mysql: 'net' …

16
วิธีตรวจสอบว่า Docker Engine และ Docker Container กำลังทำงานอยู่หรือไม่?
ในสคริปต์ฉันต้องตรวจสอบ: ก) เครื่องยนต์นักเทียบท่าทำงานอยู่หรือไม่? b) ระบุชื่อคอนเทนเนอร์ว่า Docker container กำลังทำงานอยู่หรือไม่? [ข้อความเริ่มต้นของคำถามนี้ไม่ชัดเจนโดยบางคนตีความว่าเป็น "check docker engine" และอื่น ๆ ว่า "check docker container"]
109 bash  docker 

6
นักเทียบท่าคอนเทนเนอร์จะซิงค์เวลาอัตโนมัติกับเครื่องโฮสต์หรือไม่
ให้ฉันเปลี่ยนเขตเวลาของคอนเทนเนอร์นักเทียบท่าอย่างถูกต้องแล้ว ฉันจำเป็นต้องติดตั้งเซิร์ฟเวอร์ NTP ภายในคอนเทนเนอร์นักเทียบท่าเพื่อซิงค์เวลาเป็นระยะหรือคอนเทนเนอร์จะซิงค์เวลาจากเครื่องโฮสต์หรือไม่
108 time  timezone  clock  docker  ntp 

6
เพิ่ม Insecure Registry ให้กับ Docker
ฉันมีนักเทียบท่า 1.12 ที่ทำงานบน CentOS ฉันพยายามเพิ่มรีจิสทรีที่ไม่ปลอดภัยและสิ่งที่กล่าวถึงในเอกสารประกอบก็ไม่ได้ผล ระบบใช้systemdดังนั้นฉันจึงสร้าง/etc/systemd/system/docker.service.d/50-insecure-registry.confไฟล์ $ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf [Service] Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"' หลังจากโหลด daemon และรีสตาร์ทเซอร์วิส docker systemd จะแสดงว่ามีตัวแปรสภาวะแวดล้อมอยู่ที่นั่น $ sudo systemctl show docker | grep Env Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000" แต่เมื่อฉันเรียกใช้docker infoฉันไม่เห็นว่ามีการเพิ่มรีจิสทรีที่ไม่ปลอดภัย $ docker info ........ Registry: https://index.docker.io/v1/ WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled Insecure Registries: 127.0.0.0/8 การผลักดันภาพhostaneme.cloudapp.netล้มเหลวด้วย Pushing application (hostname.cloudapp.net:5000/application:latest)... The …

6
ทำให้นักเทียบท่าใช้ IPv4 สำหรับการเชื่อมพอร์ต
ฉันมีโฮสต์นักเทียบท่าและข้างในฉันมีตู้คอนเทนเนอร์หนึ่งตู้ โฮสต์ Docker กำลังผูกพอร์ตบนอินเตอร์เฟส IPv6 เท่านั้นไม่ใช่บน IPv4 นี่คือผลลัพธ์ tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:55082 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN - tcp6 0 0 :::80 :::* LISTEN - tcp6 0 0 :::22 :::* LISTEN - tcp6 0 0 :::40280 :::* LISTEN - …
108 ubuntu  docker  port  ipv6 

12
วิธีอัปเดตไฟล์ / etc / hosts ในอิมเมจ Docker ระหว่าง "สร้างนักเทียบท่า"
ฉันต้องการอัปเดต/etc/hostsไฟล์ของฉันในระหว่าง "Docker build" ฉันเพิ่มบรรทัดด้านล่างใน Dockerfile แต่ไม่มีการอัปเดต/etc/hostsไฟล์หรือให้ข้อผิดพลาดใด ๆ RUN echo "192.168.33.11 mynginx" >> /etc/hosts /etc/hostsฉันจำเป็นต้องปรับปรุง ใครสามารถแนะนำเกี่ยวกับเรื่องนี้?
107 docker  dockerfile  hosts 

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