ทางออกที่ง่ายสำหรับฉัน: sudo docker-compose up
อัพเดท 2016-3-14: ณ จุดหนึ่งในกระบวนการติดตั้งนักเทียบท่า (หรือนักเทียบท่าเขียน?) มีคำแนะนำและตัวอย่างเพื่อเพิ่มชื่อผู้ใช้ของคุณไปยังกลุ่ม "นักเทียบท่า" สิ่งนี้อนุญาตให้คุณหลีกเลี่ยงการต้องการ "sudo" ก่อนคำสั่ง docker ทั้งหมดเช่น:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
ดูอย่างละเอียดที่เอาต์พุตของคำสั่งการติดตั้ง (ทั้งตัวเชื่อมต่อและตัวติดตั้งที่สองสำหรับตัวเรียงประกอบ) และคุณจะพบขั้นตอนที่จำเป็น มันเป็นเอกสารที่นี่: https://subosito.com/posts/docker-tips/
Sudo? No!
เบื่อกับการพิมพ์ sudo docker ทุกครั้งที่คุณออกคำสั่งหรือไม่? ใช่มีวิธีจัดการกับสิ่งนั้น แม้ว่าโดยปกติแล้วนักเทียบท่าจะต้องการผู้ใช้รูท แต่เราสามารถให้กลุ่มที่เทียบเท่ารูทสำหรับการทำงานของนักเทียบท่า
คุณสามารถสร้างกลุ่มที่เรียกว่านักเทียบท่าจากนั้นเพิ่มผู้ใช้ที่ต้องการในกลุ่มนั้น หลังจากรีสตาร์ทบริการนักเทียบท่าผู้ใช้จะไม่จำเป็นต้องพิมพ์ sudo ทุกครั้งที่ดำเนินการนักเทียบท่า มันมีลักษณะอย่างไรกับคำสั่งเชลล์? ในฐานะที่เป็นรากคุณไปที่นี่:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
ทำ!
อัพเดท 2017-3-9
ขั้นตอนหลังการติดตั้งสำหรับ Linux
ส่วนนี้มีขั้นตอนเพิ่มเติมสำหรับการกำหนดค่าโฮสต์ Linux ให้ทำงานได้ดีขึ้นกับ Docker
จัดการ Docker ในฐานะผู้ใช้ที่ไม่ใช่รูท
นักเทียบท่า daemon ผูกกับซ็อกเก็ต Unix แทนพอร์ต TCP โดยค่าเริ่มต้นแล้วซ็อกเก็ต Unix จะเป็นเจ้าของโดยผู้ใช้รูทและผู้ใช้รายอื่นสามารถเข้าถึงได้โดยใช้ sudo นักเทียบท่า daemon จะทำงานในฐานะผู้ใช้รูทเสมอ
หากคุณไม่ต้องการใช้ sudo เมื่อคุณใช้คำสั่งนักเทียบท่าให้สร้างกลุ่ม Unix ชื่อนักเทียบท่าและเพิ่มผู้ใช้ เมื่อนักเทียบท่า daemon เริ่มต้นมันทำให้เจ้าของซ็อกเก็ต Unix อ่าน / เขียนได้โดยกลุ่มนักเทียบท่า
วิธีสร้างกลุ่มนักเทียบท่าและเพิ่มผู้ใช้ของคุณ:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
คำสั่งนี้ดาวน์โหลดอิมเมจทดสอบและรันในคอนเทนเนอร์ เมื่อคอนเทนเนอร์ทำงานจะพิมพ์ข้อความแจ้งข้อมูลและออก
docker-machine
ทำงานเป็นราก? ฉันเพิ่งมาที่นี่พร้อมกับปัญหาเดียวกันบน Ubuntu และมันเป็นสิทธิ์ของซ็อกเก็ต -sudo
ทำเคล็ดลับ