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

การเขียนเป็นเครื่องมือสำหรับการกำหนดและเรียกใช้แอพพลิเคชั่นที่ซับซ้อนด้วย Docker ด้วย Compose คุณกำหนดแอปพลิเคชั่นที่มีหลายคอนเทนเนอร์ในไฟล์เดียวจากนั้นหมุนแอปพลิเคชันของคุณในคำสั่งเดียวซึ่งทำทุกอย่างที่ต้องทำเพื่อให้แอปพลิเคชันทำงานได้

1
การคัดลอกไฟล์ไปยังคอนเทนเนอร์ด้วย Docker Compose
ฉันมีDockerfileที่ที่ฉันคัดลอกไดเร็กทอรีที่มีอยู่ (พร้อมเนื้อหา) ไปยังคอนเทนเนอร์ซึ่งใช้งานได้ดี: Dockerfile FROM php:7.0-apache COPY Frontend/ /var/www/html/aw3somevideo/ COPY Frontend/ /var/www/html/ RUN ls -al /var/www/html RUN chown -R www-data:www-data /var/www/html RUN chmod -R 755 /var/www/html แต่เมื่อฉันใช้docker-compose.ymlไฟล์มีเพียงไดเร็กทอรีaw3somevideoและภายในaw3somevideoไม่มีอะไรเลย นักเทียบท่า - compose.yml : php: build: php/ volumes: - ./Frontend/ :/var/www/html/ - ./Frontend/index.php :/var/www/html/ ports: - 8100:80 บางทีฉันอาจไม่เข้าใจการทำงานของvolumesและในกรณีนี้โปรดบอกวิธีคัดลอกไฟล์ที่มีอยู่ไปยังคอนเทนเนอร์ผ่านdocker-compose.ymlไฟล์

8
Docker Compose ให้คอนเทนเนอร์ทำงานต่อไป
ฉันต้องการเริ่มบริการด้วย Docker-compose และทำให้คอนเทนเนอร์ทำงานต่อไปเพื่อที่ฉันจะได้รับที่อยู่ IP ผ่าน 'นักเทียบท่าตรวจสอบ' อย่างไรก็ตามคอนเทนเนอร์มักจะออกทันทีหลังจากเริ่มต้นระบบ ฉันพยายามเพิ่ม "command: [" sleep "," 60 "]" และอื่น ๆ ใน docker-compose.yml แต่เมื่อใดก็ตามที่ฉันเพิ่มบรรทัดด้วย "command: ... " ฉันไม่สามารถเรียก "docker-compose up" ได้ เนื่องจากฉันจะได้รับข้อความ "ไม่สามารถเริ่มคอนเทนเนอร์ ..... ข้อผิดพลาดของระบบ: อักขระที่ไม่ถูกต้อง 'k' กำลังมองหาจุดเริ่มต้นของค่า" ฉันยังลองเพิ่ม "CMD sleep 60" และไม่มีอะไรใน Dockerfile แต่ดูเหมือนว่าคำสั่งเหล่านี้จะไม่ถูกเรียกใช้ มีวิธีง่ายๆในการทำให้คอนเทนเนอร์คงอยู่หรือแก้ปัญหาอย่างใดอย่างหนึ่งของฉันได้หรือไม่? แก้ไข: นี่คือไฟล์เขียนที่ฉันต้องการเรียกใช้: version: '2' services: my-test: image: ubuntu command: …

20
Docker Error bind: แอดเดรสถูกใช้งานแล้ว
เมื่อฉันรันdocker-compose upในโปรเจ็กต์ Docker มันจะขึ้นข้อความต่อไปนี้: Error starting userland proxy: listen tcp 0.0.0.0:3000: bind: address already in use netstat -pna | grep 3000 แสดงสิ่งนี้: tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN - ฉันพยายามแล้วdocker-compose downแต่ก็ไม่ได้ผล

2
ปิดใช้งานการบันทึกสำหรับคอนเทนเนอร์เดียวใน Docker-Compose
ฉันมีเว็บแอปพลิเคชันที่เปิดตัวโดยใช้ Docker compose ที่ฉันต้องการปิดใช้งานการบันทึกทั้งหมดสำหรับ (หรืออย่างน้อยที่สุดก็พิมพ์ออกไปยัง syslog แทนไฟล์) เมื่อเว็บแอปพลิเคชันของฉันทำงานได้อย่างรวดเร็วสามารถสร้างไฟล์บันทึก 11GB เมื่อเริ่มต้นระบบดังนั้นสิ่งนี้จึงกินเนื้อที่ดิสก์ของฉันอย่างรวดเร็ว ฉันทราบว่านักเทียบท่าปกติมีตัวเลือกการบันทึกสำหรับคำสั่งรัน แต่ฉันใช้ใน Docker Compose Docker-compose ขึ้น ในโฟลเดอร์แอปพลิเคชันเพื่อเริ่มแอปพลิเคชันของฉัน ฉันจะเปิดใช้งานฟังก์ชันนี้ในกรณีของฉันได้อย่างไร ฉันไม่เห็นกรณีเฉพาะใด ๆ ทางออนไลน์

21
ข้อผิดพลาดนักเทียบท่า: รูปแบบการอ้างอิงไม่ถูกต้อง: ชื่อที่เก็บต้องเป็นตัวพิมพ์เล็ก
พบข้อผิดพลาด Docker นี้กับหนึ่งในโครงการของฉัน: invalid reference format: repository name must be lowercase อะไรคือสาเหตุต่างๆสำหรับข้อความทั่วไปนี้ ฉันคิดออกแล้วหลังจากใช้ความพยายามดังนั้นฉันจะตอบคำถามของตัวเองเพื่อบันทึกไว้ที่นี่เนื่องจากวิธีแก้ปัญหาไม่เกิดขึ้นทันทีเมื่อทำการค้นหาเว็บและเนื่องจากข้อความแสดงข้อผิดพลาดนี้ไม่ได้อธิบาย ปัญหาโดยตรงที่ Docker พบ

8
ไม่รองรับเวอร์ชันใน“ ./docker-compose.yml” คุณอาจเห็นข้อผิดพลาดนี้เนื่องจากคุณใช้เวอร์ชันเขียนไฟล์ที่ไม่ถูกต้อง
นี่คือไฟล์ docker-compose.yml ของฉัน: version: '3.1' services: a: image: tutum/hello-world b: image: tutum/hello-world secrets: id: my_password ถ้าฉันวิ่ง$ docker-compose-upฉันจะได้รับสิ่งนี้: ไม่รองรับเวอร์ชันใน "./docker-compose.yml" คุณอาจเห็นข้อผิดพลาดนี้เนื่องจากคุณใช้เวอร์ชันเขียนไฟล์ที่ไม่ถูกต้อง เวอร์ชันเขียนเทียบท่าของฉัน: $ docker-compose --version docker-compose version 1.11.0, build 6de1806 เกิดอะไรขึ้นที่นี่? เวอร์ชันเขียนเทียบท่าของฉันไม่ควรรองรับ v3.1 ของข้อกำหนด docker-compose.yml (ตามบันทึกประจำรุ่น ) หรือไม่

9
การใช้ Docker-compose กับ CI - จะจัดการกับรหัสออกและคอนเทนเนอร์ที่เชื่อมต่อกับ daemonized ได้อย่างไร?
ตอนนี้ตัวแทน Jenkins ของเราสร้าง docker-compose.yml สำหรับแต่ละโปรเจ็กต์ Rails ของเราแล้วเรียกใช้ docker-compose docker-compose.yml มีคอนเทนเนอร์ "เว็บ" หลักที่มี rbenv และการอ้างอิง Rails อื่น ๆ ทั้งหมดของเราภายใน เชื่อมโยงกับคอนเทนเนอร์ DB ที่มี Postgres DB ทดสอบ ปัญหาเกิดขึ้นเมื่อเราต้องเรียกใช้การทดสอบและสร้างรหัสทางออก เซิร์ฟเวอร์ CI ของเราจะปรับใช้ก็ต่อเมื่อสคริปต์ทดสอบส่งคืน exit 0 แต่ docker-compose จะคืนค่า 0 เสมอแม้ว่าคำสั่งคอนเทนเนอร์ใดคำสั่งหนึ่งจะล้มเหลวก็ตาม ปัญหาอื่น ๆ คือคอนเทนเนอร์ DB ทำงานไปเรื่อย ๆ แม้ว่าเว็บคอนเทนเนอร์จะเรียกใช้การทดสอบเสร็จแล้วก็ตามดังนั้นdocker-compose upอย่าส่งคืน มีวิธีใดบ้างที่เราสามารถใช้นักเทียบท่าเขียนสำหรับกระบวนการนี้ เราจะต้องสามารถเรียกใช้คอนเทนเนอร์ได้ แต่ออกหลังจากที่เว็บคอนเทนเนอร์เสร็จสมบูรณ์และส่งคืนรหัสทางออก ตอนนี้เราติดอยู่ด้วยตนเองโดยใช้นักเทียบท่าเพื่อหมุนคอนเทนเนอร์ DB และเรียกใช้คอนเทนเนอร์เว็บด้วยตัวเลือก --link

12
วิธีการติดตั้งโลคัลวอลุ่มในเครื่องเทียบท่า
ฉันพยายามใช้ Docker-machine กับนักเทียบท่าเขียน ไฟล์ docker-compose.yml มีนิยามดังนี้: web: build: . command: ./run_web.sh volumes: - .:/app ports: - "8000:8000" links: - db:db - rabbitmq:rabbit - redis:redis เมื่อการรันdocker-compose up -dทั้งหมดเป็นไปด้วยดีจนกระทั่งพยายามรันคำสั่งและเกิดข้อผิดพลาด: ไม่สามารถเริ่มคอนเทนเนอร์ b58e2dfa503b696417c1c3f49e2714086d4e9999bd71915a53502cb6ef43936d: [8] ข้อผิดพลาดของระบบ: exec: "./run_web.sh": stat ./run_web.sh: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว โลคัลวอลุ่มไม่ได้ต่อเข้ากับเครื่องระยะไกล อะไรคือกลยุทธ์ที่แนะนำในการเชื่อมต่อไดรฟ์ข้อมูลในเครื่องด้วยรหัสของ webapps

4
จะเปลี่ยนเส้นทาง http เป็น https ด้วย Traefik 2.0 และ Docker Compose อย่างไร
โปรดทราบว่ามันเป็นคำถาม Traefik V2 ฉันมีทางออกใน V1 แต่ V2 เป็น rewamp ทั้งหมด สิ่งนี้ควรเปลี่ยนเส้นทางhttp://whoami.mysite.comไปยัง http s : //whoami.mysite.com http sใช้งานได้ดี http ไม่เปลี่ยนเส้นทางไปที่ https และทำให้เกิดข้อผิดพลาด 404 ไม่มีไฟล์อื่น ทั้งหมดอยู่ใน Docker-compose.yml ในขณะนี้เนื่องจากเป็นการทดสอบเพื่อเตรียมการปรับใช้เพิ่มเติม version: "3.3" services: traefik: image: "traefik:v2.0" container_name: "traefik" command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.web-secure.address=:443" - "--certificatesresolvers.myhttpchallenge.acme.httpchallenge=true" - …

1
สเกลนักเทียบท่าพร้อมการเชื่อมต่อพอร์ตที่กำหนดขึ้น
ฉันต้องการไต่wildflyคอนเทนเนอร์ที่มีการเปิดเผยหลายพอร์ตด้วยผลลัพธ์ที่กำหนดขึ้น นักเทียบท่า-compose.yml version: '3' services: wildfly-server: build: context: . dockerfile: Dockerfile args: admin_user: admin admin_password: admin deploy: resources: limits: memory: 1.5G cpus: "1.5" restart: always ports: - "8000-8099:8080" - "8100-8199:9990" - "8200-8299:8787" expose: - "8080" - "9990" - "8787" Dockerfile FROM jboss/wildfly:16.0.0.Final # DOCKER ENV VARIABLES ENV WILDFLY_HOME /opt/jboss/wildfly ENV …

2
วิธีปิดใช้งานการถ่ายโอนไฟล์หลักในคอนเทนเนอร์นักเทียบท่า
ที่เก็บ PHP ของฉันใช้ puppeteer เพื่อสร้าง PDF ด้วยการสร้างเอกสาร PDF มันยังสร้างไฟล์ดัมพ์หลักสองไฟล์ภายในคอนเทนเนอร์ของฉัน ฉันไม่แน่ใจว่าพวกเขามาจากไหน โฮสต์ / เซิร์ฟเวอร์คือ CentOS 7 ฉันได้ตรวจสอบดังต่อไปนี้: ไม่มีบันทึกข้อผิดพลาดของแอปพลิเคชัน Browsershot / puppeteer ทำงานโดยไม่มีข้อผิดพลาด ไม่พบบันทึกข้อผิดพลาด (เช่น segfault) /var/log/messages ฉันพยายามที่จะปิดการใช้งานหลักทิ้ง โดยทำตามปิดส่วนหลักทิ้งของhttps://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ฉันได้ทำไปแล้ว: การเพิ่มเนื้อหาต่อไปนี้ลงใน /etc/security/limits.conf * soft core 0 * hard core 0 สร้าง disable-core-dumps.sh โดย: echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh เพิ่มเนื้อหาดังต่อไปนี้ใน …

1
PyCharm: ไม่สามารถสร้างล่ามไพ ธ อนรีโมตได้โดยใช้นักเทียบท่าแต่ง
ในความพยายามที่จะสร้างนักแปลหลามที่ประกอบไปด้วยไพ ธ อนใน PyCharm ฉันได้รับข้อผิดพลาด: เกิดข้อผิดพลาดขณะแยกวิเคราะห์ "/Users/belek/Projects/project/docker-composee.yml": กระบวนการdocker-compose configล้มเหลว ตัวนักแต่งเพลงทำงานได้ดี docker-compose configคำสั่งที่ทำงานอยู่ในผลงานที่ขั้วเกินไป ก่อนที่จะทำการอัพเดต macOS และ PyCharm ฉันใช้ล่ามไพ ธ อนอินเตอรเตชันแปลสำเร็จ ไม่สามารถเข้าใจสิ่งที่ผิด ฉันสร้างปัญหาใน JB YouTrack แล้ว แต่ไม่มีการตอบสนอง PyCharm 2019.2.3 macOS Catalina 10.15

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