Giải pháp đơn giản cho tôi: sudo docker-compose up
CẬP NHẬT 2016-3-14: Tại một số thời điểm trong quy trình cài đặt docker (hoặc docker-compose?), Có một gợi ý và ví dụ để thêm tên người dùng của bạn vào nhóm "docker". Điều này cho phép bạn tránh cần "sudo" trước tất cả các lệnh docker, như vậy:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Xem xét kỹ đầu ra của các lệnh cài đặt (cả docker & cài đặt thứ 2 cho docker-compose) và bạn sẽ tìm thấy bước cần thiết. Nó cũng được ghi lại ở đây: https://subosito.com/posts/docker-tips/
Sudo? Không!
Mệt mỏi vì phải gõ sudo docker mỗi khi bạn ra lệnh? Vâng, có một cách để đối phó với điều đó. Mặc dù docker tự nhiên yêu cầu người dùng root, chúng ta có thể cung cấp một nhóm tương đương với root cho các hoạt động của docker.
Bạn có thể tạo một nhóm được gọi là docker, sau đó thêm người dùng mong muốn vào nhóm đó. Sau khi khởi động lại dịch vụ docker, người dùng sẽ không cần phải gõ sudo mỗi lần thực hiện các thao tác docker. Nó trông như thế nào trên một lệnh shell? như một gốc, ở đây bạn đi:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Làm xong!
CẬP NHẬT 2017-3-9
Các bước sau khi cài đặt cho Linux
Phần này chứa các quy trình tùy chọn để định cấu hình máy chủ Linux để hoạt động tốt hơn với Docker.
Quản lý Docker với tư cách là người dùng không root
Trình nền của docker liên kết với một ổ cắm Unix thay vì cổng TCP. Theo mặc định, ổ cắm Unix được sở hữu bởi người dùng root và những người dùng khác chỉ có thể truy cập nó bằng sudo. Trình nền docker luôn chạy như người dùng root.
Nếu bạn không muốn sử dụng sudo khi bạn sử dụng lệnh docker, hãy tạo một nhóm Unix có tên là docker và thêm người dùng vào nó. Khi trình nền của docker khởi động, nó làm cho quyền sở hữu của ổ cắm Unix được đọc / ghi bởi nhóm docker.
Để tạo nhóm docker và thêm người dùng của bạn:
# 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
Lệnh này tải xuống một hình ảnh thử nghiệm và chạy nó trong một thùng chứa. Khi container chạy, nó sẽ in một thông báo thông tin và thoát.
docker-machine
chạy như root không? Tôi vừa mới đến đây với cùng một vấn đề trên Ubuntu và đó là quyền trên ổ cắm -sudo
đã thực hiện thủ thuật này.