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

นักเทียบท่าเป็นโครงการโอเพนซอร์ซที่ปรับใช้งานแอพพลิเคชั่นอัตโนมัติภายในคอนเทนเนอร์ซอฟต์แวร์

1
ฉันสามารถใช้ภาพ AWS ECR โดยตรงใน Dockerfile ของฉันได้หรือไม่
ใน dockerfile ทั่วไปมักจะมีบรรทัดนี้From ubuntu:16.04ซึ่งช่วยให้การดึงภาพจากพื้นที่เก็บข้อมูลนักเทียบท่า ตอนนี้ฉันได้สร้างที่เก็บรูปภาพของตัวเองแล้ว: ที่เก็บ URI คือ: 1234567890.dkr.ecr.us-west-2.amazonaws.com/mycompany ตามที่เห็นในภาพหน้าจอด้านบนฉันผลักภาพไปยังเซิร์ฟเวอร์ ฉันเรียกใช้สิ่งต่อไปนี้เพื่อให้แน่ใจว่าฉันมีการเข้าสู่ระบบ ecr > `aws ecr get-login --region us-west-2` Flag --email has been deprecated, will be removed in 1.14. Login Succeeded การเข้าสู่ระบบ ECR เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด จากนั้นฉันพยายามสร้างภาพใหม่: > docker build -t rtf-converter . -f Dockerfile-rtf-converter Sending build context to Docker daemon 790.1 MB …

3
วิธีออกจากกระบวนการผู้ควบคุมงานทั้งหมดหากมีการออกด้วย 0 ผลลัพธ์
ฉันเรียกใช้คอนเทนเนอร์นักเทียบเคียงกับหัวหน้างานเช่นนี้: Dockerfile CMD ["/run.sh"] run.sh #!/usr/bin/env bash exec supervisord -n ผู้บังคับบัญชา serf.conf [group:job] programs=serf,producer [program:serf] command=/start-serf-agent.sh numprocs=1 autostart=true autorestart=unexpected stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start-serf-agent.sh #!/bin/bash exec serf agent --join=serf:7946 -tag role=producer ผู้บังคับบัญชา servce.conf [program:producer] command=/start.sh numprocs=1 stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start.sh #!/bin/bash exec /producer --project=${NAME} หลังจากที่ผู้ผลิตหยุดฉันก็มี: …

4
ฉันจะเปิดเผย docker API ผ่าน TCP ได้อย่างไร
ฉันกำลังใช้ตัวแปลงและไม่สามารถจัดการจุดปลายทางระยะไกลได้ ฉันพยายามใช้บรรทัดคำสั่งในการเชื่อมต่อไปยังต่อมน้ำนักเทียบท่าระยะไกล Cannot connect to the Docker daemon at tcp://<remote_ip>:<port>. Is the docker daemon running?แต่มีข้อความ ใช่พวกเขากำลังทำงานอยู่ ฉันได้เพิ่มตัวเองลงในกลุ่มนักเทียบท่าและสามารถเข้าถึงนักเทียบท่าโดย SSHing ไปยังโหนด อย่างไรก็ตามฉันไม่สามารถเข้าถึงโหนดนักเทียบท่าได้จากระยะไกล ฉันแก้ไข/etc/defaultเพื่อเพิ่ม / ไม่แสดงความคิดเห็นDOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" ฉันยังมีการปรับเปลี่ยน/etc/init.d/dockerและจะรวมถึง/etc/init/docker.confDOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" ฉันรีสตาร์ทเซอร์วิสนักเทียบท่าออกจากระบบและเข้าสู่ระบบหลายครั้งในกระบวนการ แต่ก็ยังไม่สามารถเชื่อมต่อกับโหนดระยะไกลได้ ฉันไม่สามารถเชื่อมต่อกับโหนดในเครื่องได้ด้วยการส่งผ่าน IP ฉันพลาดอะไรไป ไฟล์คอนฟิกูเรชันใดที่เปิดเผย API ผ่าน TCP user@hostname:~$ docker -H tcp://<REMOTE_IP>:2375 info Cannot connect …
13 docker 

3
การกำหนดเส้นทางจากคอนเทนเนอร์นักเทียบท่าโดยใช้ส่วนต่อประสานเครือข่ายทางกายภาพที่แตกต่างกันและเกตเวย์เริ่มต้น
ข้อมูลพื้นฐาน ฉันมีเซิร์ฟเวอร์ที่มีอินเตอร์เฟสเครือข่ายสองตัวที่เรียกใช้ Docker หางเช่นเครื่องมือ virtualization docker0บางสร้างอินเตอร์เฟซลินุกซ์ที่เรียกว่าสะพาน อินเทอร์เฟซนี้ถูกกำหนดค่าเริ่มต้นด้วย IP ของ172.17.42.1และคอนเทนเนอร์ Docker ทั้งหมดสื่อสารกับอินเทอร์เฟซนี้เป็นเกตเวย์ของพวกเขาและได้รับการกำหนดที่อยู่ IP ใน/16ช่วงเดียวกัน ตามที่ผมเข้าใจมันทุกเครือข่ายการจราจรไปยัง / จากตู้คอนเทนเนอร์ไปผ่าน NAT ดังนั้นขาออกก็ปรากฏขึ้นมาจากและขาเข้าจะได้รับการส่งไปยัง172.17.42.1172.17.42.1 การตั้งค่าของฉันดูเหมือนว่า: +------------+ / | | | +-------------+ Gateway 1 +------- | | 10.1.1.1 | / +------+-------+ +------------+ | | eth0 | / | 10.1.1.2 | | | | | | DOCKER HOST …

1
นักเทียบท่าบนเครื่องโฮสต์“ ทั่วไป” ที่มีอยู่?
ฉันมีเครื่องบน LAN ที่ฉันสามารถเข้าถึง SSH ได้ ฉันจะตั้งค่าเพื่อให้ฉันสามารถสื่อสารกับมันโดยใช้docker-machine? มีโครงการ ( boot2docker ) สำหรับการสร้าง ISOs ที่ใช้สำหรับโฮสต์ใหม่เช่นเมื่อเริ่มต้นอินสแตนซ์ใหม่ด้วย VirtualBox, Digital Ocean เป็นต้นฉันต้องการตั้งค่านี้โดยไม่ต้องใช้เครื่องติดตั้งเครื่องแล้ว - เพียงเพื่อ เรียกใช้บริการ "โหนด" ของเครื่องเทียบท่า
13 docker 

1
นักเทียบท่าวิ่งไม่ต่อท้ายอาร์กิวเมนต์กับจุดเข้ารูปภาพ
ฉันมี Dockerfile ด้วย: ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"] (ไม่CMD) เมื่อฉันเรียกใช้ uwsgi ที่ถูกต้องบ่น: uWSGI running as root, you can use --uid/--gid/--chroot options *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** ตอนนี้ฉันคิดว่าฉันสามารถต่อท้ายอาร์กิวเมนต์กับจุดเข้าใช้งานผ่านdocker runดังนี้: $ docker run -itP uwsgi_app:0.1 --uid=docker อย่างไรก็ตาม uwsgi ยังคงบ่นกับข้อผิดพลาดเดียวกันดูเหมือนว่า arg ไม่ได้ถูกต่อท้าย ถ้าฉันแทนที่จุดเข้าใช้แล้ว arg จะได้รับการเพิ่ม: …
13 docker 

2
การนับแบนด์วิดท์จากคอนเทนเนอร์ Docker
ฉันกำลังพยายามหาวิธีติดตามแบนด์วิดท์ที่มาจากคอนเทนเนอร์ Docker ปกติฉันจะใช้--uid-ownerเป็นเครื่องหมายเพื่อติดตามการใช้แบนด์วิดธ์สำหรับผู้ใช้ที่กำหนด อย่างไรก็ตามแม้ว่าฉันจะเรียกใช้กระบวนการทั้งหมดในขณะที่ผู้ใช้ภายในคอนเทนเนอร์นักเทียบท่า--uid-ownerไม่ทำงาน แทนที่จะลองใช้--uid-ownerฉันพยายามติดตามทุกแพ็กเก็ตที่มาจากอุปกรณ์อีเธอร์เน็ตเสมือนที่นักเทียบท่าสร้าง อย่างไรก็ตามสิ่งนี้ก็ไม่ได้ทำสิ่งใดเกินไป: ไม่ว่าฉันจะพยายามอะไรก็ตาม จากความสิ้นหวังอย่างแท้จริงฉันพยายามแค่วางกฎลงในโซ่ทั้งหมด แต่ก็ไม่ได้ผล Chain PREROUTING (policy ACCEPT 3041 packets, 7849454 bytes) num pkts bytes target prot opt in out source destination 1 0 0 MARK tcp -- veth5a36 any anywhere anywhere MARK set 0x1 Chain INPUT (policy ACCEPT 273 packets, 23305 bytes) num pkts …

1
วิธีการเปิดใช้งาน SELinux ภายในคอนเทนเนอร์ CentOS Docker
ฉันพยายามติดตั้ง SELinux ภายในคอนเทนเนอร์ Docker เพื่อแจกจ่ายแอปพลิเคชันที่ใช้ SELinux ภายใน อิมเมจ CentOS เริ่มต้นไม่มีการติดตั้ง SELinux: $ docker run -it centos:latest /bin/bash [root@38ae5a98273d /]# sestatus bash: sestatus: command not found หลังจากติดตั้งจาก yum แล้ว SELinux ยังไม่เปิดใช้งาน [root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted ... [root@38ae5a98273d /]# sestatus SELinux status: disabled เอกสารทั้งหมดที่ฉันพบพบว่าคุณต้องออกระบบรีบูตเพื่อติดตั้ง อย่างไรก็ตามฉันไม่ทราบวิธีการจำลองการบูตระบบภายในคอนเทนเนอร์ Docker เราจะติดตั้งและเปิดใช้งาน SELinux ภายในคอนเทนเนอร์ได้อย่างไร
13 centos  docker  selinux 

4
Kubernetes ให้บริการ 503 ไม่พร้อมใช้งานชั่วคราวด้วย TLS Ingress หลายรายการ
ฉันมีการตั้งค่าคลัสเตอร์ kubernetes โดย kops บน Amazon Web Services ฉันมีการตั้งค่า 2 ไซต์ หนึ่งมีความปลอดภัยผ่าน SSL / TLS / https และอื่น ๆ เป็นเพียง http ทั้งสองเป็นเว็บไซต์ Wordpress เปลี่ยนโดเมนเพื่อปกป้องตัวตนของเว็บไซต์ การกำหนดค่า Ingress: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-rules spec: tls: - hosts: - site1.com secretName: site1-tls-secret - hosts: - www.site1.com secretName: site1-tls-secret rules: - host: …

2
ใหม่นักเทียบท่าไคลเอ็นต์ที่มีโฮสต์ Docker ที่เก่ากว่า
เรามีเซิร์ฟเวอร์ Docker ที่เก่ากว่าเล็กน้อยที่ทำงานบน RHEL 6.6 ตอนนี้ทีมของเรายังไม่ได้รับการสนับสนุนอย่างดีดังนั้นเราจึงไม่สามารถอัปเกรดได้อย่างง่ายดาย ตอนนี้มันรัน Docker 1.3.2 จาก repo ของ EPEL ถ้าฉันทำทุกอย่างที่ฉันต้องการสำหรับการพิสูจน์แนวคิดซึ่งหวังว่าจะช่วยฉันผลักดันการจัดการเพื่อปรับปรุงการสนับสนุนโครงสร้างพื้นฐานสำหรับนักเทียบท่าตามท้องถนน ฉันตั้งค่าให้ฟังบน TCP / TLS และฉันสามารถเชื่อมต่อกับมันได้ แต่มันปฏิเสธที่จะเรียกใช้คำสั่งที่กำหนดโดยไคลเอนต์นักเทียบท่าในพื้นที่ของฉัน $ docker version Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.4 Git commit (client): 5bc2ff8 OS/Arch (client): darwin/amd64 FATA[0000] Error response from daemon: client and server don't …
12 docker 

4
เป็นไปได้ไหมที่จะใช้ Docker เพื่อแยกเว็บไซต์สำหรับผู้ใช้
ฉันจัดการเซิร์ฟเวอร์ที่ผู้ใช้มีเว็บไซต์ของตนเองที่สามารถเข้าถึงได้โดย FTP (เช่น บริษัท โฮสติ้ง) และแทนที่จะทำงานเพื่อแยกกระบวนการสแต็กของ LAMP ฉันคิดว่ามันเป็นไปได้ที่จะใช้งาน Docker และใช้รูปภาพต่อเว็บไซต์ จากสิ่งที่ฉันเข้าใจคุณสามารถเปิดเผยอินสแตนซ์นักเทียบท่าผ่านพอร์ตของพวกเขาดังนั้นหากคุณเรียกใช้อินสแตนซ์นักเทียบท่าสองตัวบนเซิร์ฟเวอร์เดียวกันคุณจะต้องเปิดเผยพอร์ตที่ต่างกันสองพอร์ต แต่มันเป็นไปได้ที่จะส่งออกไม่ใช่พอร์ต แต่เป็นชื่อเซิร์ฟเวอร์เช่น: www.somewebsite.com: อินสแตนซ์นักเทียบท่า 1 www.otherwebsite.com: อินสแตนซ์นักเทียบท่า 2 www.etc.com: อินสแตนซ์นักเทียบท่า ... และในเซิร์ฟเวอร์เดียวกัน ฉันคิดเกี่ยวกับการติดตั้ง Apache บนเซิร์ฟเวอร์เท่านั้นซึ่งจะเปลี่ยนเส้นทางคำขอไปยังอินสแตนซ์ Docker โดยเฉพาะตามชื่อเซิร์ฟเวอร์ แต่จากนั้นฉันจะต้องติดตั้ง Apache (อีกครั้ง!) และ MySQL ในอินสแตนซ์ Docker ใด ๆ เป็นไปได้และยิ่งกว่านี้มันน่าสนใจในแง่ของประสิทธิภาพ ขอขอบคุณสำหรับความช่วยเหลือของคุณ.
12 hosting  docker 

7
กำลังเรียกใช้ systemd ภายในคอนเทนเนอร์ docker (arch linux)
ฉันพยายามที่จะดูว่าฉันสามารถเรียกใช้ systemd ภายในคอนเทนเนอร์นักเทียบท่า (ซึ่งเรียกใช้ arch linux ในคอนเทนเนอร์) ฉันเริ่มนักเทียบท่าด้วยความสามารถทั้งหมดและผูกเมานต์ใน cgroups: docker run -it --rm --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro .. อย่างไรก็ตามถ้าฉันพยายามรัน systemd binary: Trying to run as user instance, but the system has not been booted with systemd. พยายามค้นหาวิธีเริ่มต้นสิ่งต่าง ๆ อย่างถูกต้องเพื่อให้ systemd เริ่มต้นขึ้น

3
Nginx แฮงค์โดยใช้“ service nginx start”
ฉันรวบรวม nginx พร้อมเส้นทางที่กำหนดเองสำหรับเซิร์ฟเวอร์ที่ใช้งานจริงของฉันและเมื่อฉันพยายามเริ่ม / เริ่มบริการใหม่โดยใช้: service nginx start หรือ service nginx restart มันเข้าสู่บรรทัดใหม่โดยไม่ส่งคืนเชลล์: ดังนั้นปัญหาคือฉันไม่สามารถควบคุม nginx ได้โดยใช้serviceคำสั่ง บริการทำงานจริง แต่จะไม่ส่งคืนเชลล์ให้ฉันดังนั้นฉันต้องกดctrl+ cเพื่อรับมันกลับมาเสมอ ฉันยังต้องพูดถึงว่า nginx ทำงานได้ดีเมื่อเรียกมันด้วยnginxคำสั่งของตัวเองและหยุดหรือโหลดnginx -s stop/reloadซ้ำได้อย่างง่ายดายโดยใช้ ปัญหานี้ยังคงมีอยู่systemctl start nginxเช่นกัน แต่ก็systemctl stop nginxใช้ได้ดี ข้อมูล: $ lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 15.10 Release: 15.10 Codename: wily $ uname -r 4.2.0-27-generic $ nginx …

3
กำหนดส่วนต่อประสานทางกายภาพให้กับนักเทียบท่าโดยเฉพาะ
ฉันต้องการเรียกใช้การทดสอบเครือข่ายประสิทธิภาพสูงในคอนเทนเนอร์ของนักเทียบท่าและไม่ต้องการโอเวอร์เฮดของการเชื่อมต่อ (เพื่อให้ปิเปตไม่ทำงานใน AFAIK) ฉันต้องการมอบหมาย (นอกเหนือจากอุปกรณ์ veth docker ปกติ) อินเตอร์เฟสเครือข่ายทางกายภาพ 40GbE จากโฮสต์ไปยังคอนเทนเนอร์ docker เช่นเดียวกับในโหมด lxc "phys" สิ่งนี้ควรทำให้อินเตอร์เฟสแบบฟิสิคัลเป็นโฮสต์ที่มองไม่เห็น

2
การเชื่อมต่อฐานข้อมูลนักเทียบท่าจับกลุ่มรีเซ็ตโดยเพื่อน
ฉันใช้แอพพลิเคชั่นบู๊ทสปริงด้วยตัวเชื่อมต่อและฉันใช้ postgres สำหรับฐานข้อมูล เมื่อฉันเรียกใช้ทั้งสองอย่างเป็นบริการตัวเทียบท่าการเชื่อมต่อฐานข้อมูลล้มเหลวอย่างสม่ำเสมอและแบบสุ่ม (ดังที่คุณเห็นในการประทับเวลา) ตามบันทึกบอกว่า: 2017-10-26T 17:14:15 .200415747Z app-db.1.1ayo6h8ro1og@scw-c2964a | LOG: ไม่สามารถรับข้อมูลจากไคลเอนต์: การเชื่อมต่อรีเซ็ตโดยเพียร์ 2017-10-26T 17:43:36 .481718562Z app-db.1.1ayo6h8ro1og@scw-c2964a | LOG: ไม่สามารถรับข้อมูลจากไคลเอนต์: การเชื่อมต่อรีเซ็ตโดยเพียร์ 2017-10-26T 17:43:56 .954152654Z app-db.1.1ayo6h8ro1og@scw-c2964a | LOG: ไม่สามารถรับข้อมูลจากไคลเอนต์: การเชื่อมต่อรีเซ็ตโดยเพียร์ 2017-10-26T 17:44:17 .434171472Z app-db.1.1ayo6h8ro1og@scw-c2964a | LOG: ไม่สามารถรับข้อมูลจากไคลเอนต์: การเชื่อมต่อรีเซ็ตโดยเพียร์ 2017-10-26T 17:49:04 .154174253Z app-db.1.1ayo6h8ro1og@scw-c2964a | LOG: ไม่สามารถรับข้อมูลจากไคลเอนต์: การเชื่อมต่อรีเซ็ตโดยเพียร์ ฉันไม่เข้าใจหรือค้นพบสาเหตุของสิ่งนี้ ฉันขอขอบคุณความคิดใด ๆ แก้ไข: …

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