คำสั่ง Docker ไม่สามารถเชื่อมต่อกับ Docker daemon ได้


246

ฉันต้องการย้ายไปที่ 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: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since vr 2015-11-06 08:41:48 CET; 15min ago
     Docs: https://docs.docker.com
 Main PID: 7542 (docker)
   CGroup: /system.slice/docker.service
           └─7542 /usr/bin/docker daemon -H fd://

nov 06 08:41:47 kramer65-VirtualBox systemd[1]: Starting Docker Application Container Engine...
nov 06 08:41:47 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:47.900410966+01:00" level=info msg="API ...ock"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.033514149+01:00" level=info msg="Fire...lse"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.141594321+01:00" level=info msg="Defa...ess"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.416294436+01:00" level=warning msg="Y...it."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.565507576+01:00" level=info msg="Load...rt."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567907022+01:00" level=info msg="Load...ne."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567945214+01:00" level=info msg="Daem...ion"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567969891+01:00" level=info msg="Dock....9.0
nov 06 08:41:48 kramer65-VirtualBox systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.

สิ่งนี้ชี้ให้เห็นว่า Docker daemon กำลังทำงานอยู่จริง ๆ แต่เพื่อให้แน่ใจว่าฉันเพิ่งเริ่ม Docker daemon ด้วยตนเอง:

$ sudo docker daemon
INFO[0000] API listen on /var/run/docker.sock           
INFO[0000] [graphdriver] using prior storage driver "aufs" 
INFO[0000] Firewalld running: false                     
INFO[0000] Default bridge (docker0) is assigned with an IP address XXX.XX.X.X/XX. Daemon option --bip can be used to set a preferred IP address 
WARN[0000] Your kernel does not support swap memory limit. 
INFO[0000] Loading containers: start.                   

INFO[0000] Loading containers: done.                    
INFO[0000] Daemon has completed initialization          
INFO[0000] Docker daemon                                 commit=76d6bc9 execdriver=native-0.2 graphdriver=aufs version=1.9.0

จากนั้นฉันพยายามเรียกใช้รูปภาพอีกครั้ง แต่ด้วยผลลัพธ์เดียวกัน:

$ docker run --name mynginx1 -P -d nginx
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

ฉันพยายาม sudo'ing คำสั่ง แต่ไม่มีประโยชน์ ฉันทำอะไรผิดที่นี่


1
ปัญหาเดียวกัน. ฉันใช้ Ubuntu 15.10 ด้วย :(
Daniel Loureiro

1
ปัญหาเดียวกัน, อูบุนตู 15.10
Lucas Tettamanti

1
เพิ่งเริ่มบริการนักเทียบท่าของคุณนั่นคือทั้งหมด ขอบคุณ @jim <pre> sudo service docker restart </pre>
Nasruddin

1
Nasruddin แน่นอนว่ามันไม่ได้ผลสำหรับฉัน ... :-(
Rafael_Espericueta

1
ฉันต้องรีสตาร์ทเครื่องเพื่อให้ใช้งานได้
romaroma

คำตอบ:


443

คุณต้องเพิ่มผู้ใช้ปัจจุบันของคุณไปยังกลุ่มนักเทียบท่าดังนี้:

sudo usermod -aG docker $(whoami)

จากนั้นออกจากระบบ & ลงชื่อเข้าใช้อีกครั้งในระบบหรือรีสตาร์ทระบบ ทดสอบโดยdocker version

สำหรับข้อมูลเพิ่มเติมวิธีการติดตั้งนักเทียบท่าเครื่องยนต์ทำตามเอกสารนักเทียบท่า


โง่ แต่มันทำงานให้ฉันเกินไป @RobinLoxley นี้ควรจะเป็นคำตอบที่เกิดขึ้นจริงไม่ได้เป็นเพียงความคิดเห็นให้เราทราบหากคุณโพสต์ฉันจะให้คุณ upvote;)
Benka

9
ฉันจะขีดเส้นใต้ "ออกจากระบบและเข้าสู่ระบบอีกครั้งในระบบหรือรีสตาร์ทระบบ"
มิเคเล่

3
@Junaid คำตอบด้านล่างแสดงวิธีหลีกเลี่ยงขั้นตอนออกจากระบบ / เข้าสู่ระบบในกรณีที่คุณเป็นเช่นฉันขี้เกียจคุณไม่ต้องการรีสตาร์ทแอพของคุณ;)
brandizzi

นี่คือสิ่งที่ถูกกล่าวถึงในบทช่วยสอนการเชื่อมต่อ แต่การออกจากระบบและกลับเข้ามาอีกครั้งไม่ได้ผลสำหรับฉัน ฉันต้องรีสตาร์ทระบบเพื่อให้ทำงานได้
aalaap

4
ฉันเห็นข้อมูลรุ่นนักเทียบท่า แต่ในตอนท้ายของการส่งออกฉันเห็นCannot connect to the Docker daemon. Is the docker daemon running on this host?
ghanbari

137

เพิ่มผู้ใช้ไปยังกลุ่มนักเทียบท่า

  • เพิ่มกลุ่มนักเทียบท่าหากยังไม่มี:

    sudo groupadd docker

  • เพิ่มผู้ใช้ที่เชื่อมต่อ "$ {USER}" เข้ากับกลุ่มนักเทียบท่า:

    sudo gpasswd -a ${USER} docker

  • รีสตาร์ท Docker daemon:

    sudo service docker restart

  • ทำnewgrp dockerหรือออกจากระบบ / เพื่อเปิดใช้งานการเปลี่ยนแปลงในกลุ่ม


1
ดูเหมือนว่าnewgrp dockerเป็นโลคัลสำหรับเชลล์ไม่ใช่เซสชันล็อกอิน นี่ไม่ชัดเจนเลยจาก man page
bergey

1
ทำงานให้ฉัน ขอบคุณ!
Apokai

คำตอบเดียวที่ใช้งานได้! บนเครื่อง Linux บนคลาวด์ส่วนตัวและมันก็ยังใช้งานได้!
Meghna Natraj

ทำงานบน Ubuntu 18.04! ขอบคุณ
Kshitij Saraogi

33

โดยปกติแล้วคำสั่งต่อไปนี้จะหลอกลวง:

sudo service docker restart

สิ่งนี้แทนที่จะdocker startเป็นกรณีที่ดูเหมือนว่า Docker จะทำงานอยู่แล้ว

หากใช้งานได้ตามที่แนะนำและในคำตอบอื่นและปัญหา GitHub นี้หากคุณยังไม่ได้เพิ่มตัวเองในกลุ่มนักเทียบท่าให้ทำโดยเรียกใช้:

sudo usermod -aG docker <your-username> 

และคุณน่าจะดีที่สุด


สำหรับคนอื่นที่เจอปัญหานี้ในตัวเทียบท่าของระบบปฏิบัติการบางตัวไม่เริ่มทำงานทันทีหลังจากที่คุณติดตั้งและผลที่ได้can't connect to daemon messageจะเหมือนกัน ในกรณีนี้คุณสามารถตรวจสอบว่า Docker ไม่ทำงานโดยการตรวจสอบสถานะของบริการ Docker ของคุณก่อนโดยดำเนินการดังนี้

sudo service docker status

หากผลลัพธ์ดูเหมือน: docker stop/waitingแทนที่จะเป็นเช่นdocker start/running, process 15378นั้นแสดงว่า Docker ไม่ทำงาน ในกรณีนี้ให้แน่ใจว่าคุณเริ่มด้วย:

sudo service docker start

และก่อนหน้านี้คุณน่าจะไปได้ดีที่สุด


18

หมายเหตุตนเอง: ฉันได้รับข้อผิดพลาดจากชื่อคำถามเมื่อฉันลืมเรียกใช้dockerคำสั่งด้วยsudo:

sudo docker run ...

[Ubuntu 15.10]


12

มีปัญหาเดียวกันและสิ่งที่ใช้ได้ผลสำหรับฉันคือ: การ
ตรวจสอบความเป็นเจ้าของ /var/run/docker.sock

ls -l /var/run/docker.sock

หากคุณไม่ใช่เจ้าของให้เปลี่ยนความเป็นเจ้าของด้วยคำสั่ง

sudo chown *your-username* /var/run/docker.sock

จากนั้นคุณสามารถไปข้างหน้าและลองใช้คำสั่งนักเทียบท่าที่ไม่ยุ่งยาก: D


2
หลังจากหมดความเป็นไปได้อื่น ๆ ทั้งหมดนี่คือสิ่งที่ทำให้ Sabayon / Gentoo Linux ทำงานให้ฉันได้
gerrit_hoekstra

ไฟล์นั้นเป็นของrootแต่อยู่ในdockerกลุ่ม วิธีการที่ถูกต้องคือการกำหนดผู้ใช้ปัจจุบันของคุณให้กับdockerกลุ่มตามเอกสารของ Docker:sudo groupadd docker && sudo usermod -aG docker $USER
Lucas Bustamante

9

หลังจากติดตั้งทุกอย่างและเริ่มให้บริการลองปิดเทอร์มินัลแล้วเปิดอีกครั้งจากนั้นลองดึงภาพของคุณ

แก้ไข

ฉันยังมีปัญหานี้อีกครั้งหากวิธีการข้างต้นไม่ได้ผลลองวิธีแก้ปัญหานั่นคือคำสั่งร้อง

sudo mv /var/lib/docker/network/files/ /tmp/dn-bak

การพิจารณา

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

tail -5f /var/log/upstart/docker.log

ถ้าเอาท์พุทมีอะไรทำนองนั้น

FATA[0000] Error starting daemon: Error initializing network controller: could not delete the default bridge network: network bridge has active endpoints 
/var/run/docker.sock is up

คุณมีปัญหากับเครือข่ายจริง ๆ แต่ฉันยังไม่รู้ถ้าครั้งต่อไปที่คุณเริ่มต้นใหม่ ( ปรับปรุง 2 เดือนไม่มีปัญหาอีกครั้ง) ระบบปฏิบัติการของคุณจะได้รับปัญหานี้อีกครั้งและถ้ามันเป็นปัญหาหรือปัญหาการติดตั้ง

รุ่นนักเทียบท่าของฉัน

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

8

หลังจากติดตั้ง docker บน Ubuntu ฉันรันคำสั่งต่อไปนี้:

sudo service docker start

คุณเคยลองไหม


6

ผมมีปัญหาเหมือนกัน. รับการดิ้นรนเป็นเวลาสองวันเพื่อแก้ปัญหา

มันใช้ได้เฉพาะเมื่อฉัน:

  1. จากบทช่วยสอนของ Dockerคุณจะต้องเพิ่มคีย์ Docker หากยังไม่ได้เพิ่มโดยใช้:

    $ sudo wget -qO- https://get.docker.com/gpg | sudo apt-key add -

  2. จากนั้นตรวจสอบให้แน่ใจว่าคุณให้สิทธิ์พิเศษแก่นักเทียบท่าเพื่อตัวคุณเองโดยใช้:

    $ sudo usermod -aG docker $USER

หวังว่านี่จะช่วยคุณได้เช่นกัน


2
ขั้นตอนที่ 2 สามารถทำให้ง่ายขึ้นเป็น:sudo usermod -aG docker $USER
johntellsall

5

ป้อนเป็น root ( sudo su) และลองทำสิ่งนี้:

unset DOCKER_HOST
docker run --name mynginx1 -P -d nginx

ฉันมีปัญหาเดียวกันที่นี่และคำสั่งนักเทียบท่าทำงานเฉพาะในฐานะรูทและยังDOCKER_HOSTว่างเปล่าด้วย

PS:ระวังด้วยว่าวิธีที่ถูกต้องและเป็นทางการในการติดตั้งบน Ubuntu คือการใช้คลังเก็บ apt (แม้กระทั่งบน 15.10) ไม่ใช่กับ " wget "


สิ่งที่ "wget" เพียงแค่ใส่ที่เก็บ docker ในแหล่งฉลาดของคุณ .... นั่นคือสิ่งเดียวกับที่คุณถูกขอให้ทำด้วยตนเองใน "วิธีที่ถูกต้องและเป็นทางการ" ....
Alar

1
ฉันเกรงว่าคุณผิด Alar วิธี "wget" จะเพิ่มที่เก็บนักเทียบท่าในแหล่งที่ฉลาดของคุณซึ่งก็ดี แต่มันจะทำสิ่งเลวร้ายอื่น ๆ อีกมากมายเช่นตั้งค่า DOCKER_HOST env var ซึ่งจะป้องกันไม่ให้นักเทียบท่าหมดเวลาใช้งาน ไม่ได้เป็นเพราะทั้งสองวิธีเพิ่มนักเทียบท่าให้กับ repo ที่ทั้งคู่เหมือนกัน
Daniel Loureiro

5

สำหรับOSX :

หลังจากเปิดตัวเทียบท่าและเริ่มต้นเครื่อง 'เริ่มต้น' ผ่านทาง Quickstart Terminal ( https://docs.docker.com/engine/installation/mac/ ) คุณลองใช้คำสั่ง docker และรับข้อความ "ไม่สามารถเชื่อมต่อกับ daemon docker" , มันจะเปิดออกคุณต้องมีตัวแปร env ตั้ง :

eval "$(docker-machine env default)"

จากนั้นลองใช้ด้วยdocker run hello-worldเพื่อดูว่าทุกอย่างเป็นลูกพีชหรือไม่


5

สำหรับคนที่ลองรีสตาร์ทเครื่องของคุณแล้วให้ยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อม DOCKER_HOST ตามที่บอกไว้ในเอกสารประกอบนักเทียบท่า envและที่เหลือก็แค่ลองไปกับ

sudo service docker restart

นี่เป็นเพียงการหลอกลวงสำหรับฉันแม้หลังจากรีสตาร์ทเครื่อง


2
สิ่งนี้จำเป็นถ้าคุณออกจากระบบและเข้าสู่ระบบเท่านั้น
Zhang LongQI

4

ให้การเข้าถึงที่ไม่ใช่รูท - จาก นักเทียบท่า

เพิ่มกลุ่มนักเทียบท่าหากยังไม่มีอยู่

$ sudo groupadd docker

เพิ่มผู้ใช้ที่เชื่อมต่อ "$ {USER}" เข้ากับกลุ่มนักเทียบท่า

เปลี่ยนชื่อผู้ใช้เพื่อให้ตรงกับผู้ใช้ที่คุณต้องการ

คุณอาจต้องออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อให้สิ่งนี้มีผล

$ sudo gpasswd -a ${USER} docker

รีสตาร์ท Docker daemon

$ sudo service docker restart

3

คำถามนี้เป็นหมายเลข 3 ในการค้นหาของ Google หลังจากทำวิจัยเพื่อแก้ปัญหานี้ในระบบ Linux ของฉันฉันคิดว่าฉันจะเขียนคำตอบนี้ โพสต์ต้นฉบับระบุว่าปัญหาอยู่ใน Ubuntu แต่ฉันก็ประสบปัญหาในการใช้ Fedora ด้วย โดยที่ในใจนี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหา

ใน Fedora 22

การติดตั้ง Docker:

$> curl -fsSL https://get.docker.com/ | sh

หลังจากติดตั้ง Docker:

ผู้ใช้จะต้องเพิ่มไปยังกลุ่มนักเทียบท่า

$> sudo usermod -aG docker

ต้องเริ่มต้น docker daemon

$> sudo service docker start

คุณสามารถตั้ง daemon ให้เริ่มต้นตอนบูท

$> sudo chkconfig docker on

คุณสามารถตรวจสอบว่าบริการนักเทียบท่ากำลังทำงานอยู่

$> service docker status

และสุดท้ายการตรวจสอบสุดท้าย

$> docker run hello-world

บน Fedora 23 dockerrootกลุ่มนี้อาจจะเรียกว่า นอกจากนี้คุณอาจต้องการติดตั้งจากที่เก็บ (แทนcurl ... | sh) เพื่อให้สามารถอัปเดตได้ในภายหลัง:dnf install docker
พื้นฐาน 6

ส่วนมากไม่มีกลุ่ม "นักเทียบท่า" ดังนั้นเราต้องเพิ่มก่อนgroupadd dockerแล้วจึงเพิ่มไปยังชื่อผู้ใช้ของคุณsudo usermod -aG docker your_username
TonyTony

2

ลองใช้ "sudo" กับคำสั่งที่คุณใช้


"ฉันลองใช้คำสั่ง sudo แต่ไม่มีประโยชน์ใครรู้ว่าฉันทำอะไรผิดที่นี่? ยินดีต้อนรับทุกคำแนะนำ!"
RhinoDevel

2

ฉันมีปัญหาเดียวกันขณะใช้งานนักเทียบท่า

คุณสามารถเรียกใช้คำสั่งในฐานะผู้ใช้sudo :

sudo docker ***your command here***

2

สำหรับ Ubuntu:
เกิดขึ้นกับฉันเมื่อฉันอัปเดตนักเทียบท่า
คุณต้องเปิดโปงบริการและซ็อกเก็ตแล้วเริ่มบริการใหม่

ทำงานต่อไปนี้สำหรับฉัน:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

สิ่งที่เกิดขึ้นหลังฉาก
systemd ยังมีความสามารถในการทำเครื่องหมายยูนิตว่าไม่สามารถเริ่มต้นได้โดยอัตโนมัติหรือด้วยตนเองโดยเชื่อมโยงไปยัง / dev / null สิ่งนี้เรียกว่าการพรางหน่วยและเป็นไปได้ด้วยคำสั่ง mask

sudo systemctl mask docker.service

คุณสามารถตรวจสอบรายการบริการที่ถูกหลอกลวงโดยใช้:

sudo systemctl list-unit-files

เอาต์พุตของ sudo systemctl list-unit-files

ในการเปิดใช้งานการเริ่มบริการอัตโนมัติ / แมนนวลคุณจำเป็นต้องเปิดโปงโดยใช้

sudo sytemctl unmask docker.service

ตอนนี้บริการจะเปิดใช้งานตามที่แสดงด้านล่าง ป้อนคำอธิบายรูปภาพที่นี่


1

ในฐานะที่นักเทียบท่าผูกกับซ็อกเก็ตยูนิกซ์ซึ่งเป็นเจ้าของโดยรูทในขณะที่เริ่มต้นใช้ 'sudo' พร้อมกับคำสั่งนักเทียบท่าจะทำงาน


1
  1. ฉันยังมีปัญหาเดียวกัน ปัญหาอยู่ในซ็อกเก็ตที่จัดสรรให้กับ docker-daemon และ docker-client
  2. ก่อนอื่นไม่ได้รับอนุญาตสำหรับนักเทียบท่า - ลูกค้าใน docker.sock คุณสามารถตั้งค่าได้โดยใช้ "sudo usermod -aG docker $ USER"
  3. จากนั้นตรวจสอบไฟล์ bash ของคุณที่ซึ่ง docker-client กำลังรันอยู่สำหรับฉันคือ 0.0.0.0:2375 ในขณะที่ docker-daemon กำลังทำงานบนซ็อกเก็ตยูนิกซ์ (มันถูกตั้งค่าในไฟล์กำหนดค่าของ dockerd)
  4. เพียงแค่แสดงความคิดเห็น bash-line และมันจะทำงานได้ดี
  5. แต่ถ้าคุณต้องการให้มันทำงานบนพอร์ต TCP แทนที่จะเป็นซ็อกเก็ตยูนิกซ์ให้เปลี่ยนไฟล์การตั้งค่าของ dockerd และตั้งเป็น 0.0.0.0.2375 และเก็บบรรทัดไว้ใน bash เหมือนเดิมหรือตั้งเป็น 0.0.0.0: 2375

1

บางทีนี่อาจช่วยคนได้เนื่องจากข้อความแสดงข้อผิดพลาดไม่ช่วยเหลืออย่างยิ่งและฉันได้ทำตามขั้นตอนการอนุญาตมาตรฐานทั้งหมดหลายครั้งหลายครั้งจนไม่มีประโยชน์

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

unset DOCKER_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH
docker ps

ฉันเคยติดตั้งนักเทียบท่าที่ทำงานมาแล้วและหลังจากรีบูตเครื่องแล็ปท็อปของฉันมันก็ไม่ยอมทำงาน ถูกเพิ่มเข้ามาอย่างถูกต้องให้กับกลุ่มผู้ใช้นักเทียบท่าที่มีสิทธิ์ที่ถูกต้องเกี่ยวกับซ็อกเก็ต ฯลฯ แต่ก็ยังไม่ทำงานdocker login, docker run ...ฯลฯ นี้คงมันสำหรับฉัน น่าเสียดายที่ฉันต้องเรียกใช้ในการรีบูตแต่ละครั้ง นี่ถูกกล่าวถึงในปัญหา github สองสามครั้งและเป็นการแก้ปัญหาแม้ว่ามันจะดูเหมือนว่าเป็นข้อผิดพลาดที่เป็นอุปสรรคถาวรในการแก้ไขการทำงานของ Docker (หมายเหตุ: ฉันอยู่บน Arch Linux ไม่ใช่ OSX แต่นี่เป็นปัญหาเดียวกันสำหรับ ผม).


1

ผ่านการทดสอบใน Ubuntu 16.04

# Create the docker group and add your user to the docker group
groupadd docker
usermod -aG docker $USER
newgrp docker

# Configure docker service to be exposed
mkdir -p /etc/systemd/system/docker.service.d
echo -e '[Service]\nExecStart=\nExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376' >> /etc/systemd/system/docker.service.d/override.conf

# restart service
systemctl daemon-reload
service docker restart


0

เพิ่มผู้ใช้ปัจจุบันไปยังกลุ่มนักเทียบท่า:

sudo usermod -aG docker $(whoami)


กรุณาจัดรูปแบบนี้เป็นรหัส! และอธิบายคำสั่งนี้ และใช้--ตัวเลือกเวอร์ชันยาว (เริ่มต้นด้วย)
buhtz

0

สำหรับUbuntu 16.04

/lib/systemd/system/docker.serviceการเปลี่ยนแปลงไฟล์ภายใน:

ExecStart=/usr/bin/dockerd fd://

ด้วย:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

/etc/init.d/dockerการเปลี่ยนแปลงไฟล์ภายใน:

DOCKER_OPTS=

ด้วย:

DOCKER_OPTS="-H tcp://0.0.0.0:2375"

จากนั้นรีสตาร์ทเครื่องคอมพิวเตอร์

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