2016-11-16 25 views
5

Khi tôi đang chạy hình ảnh docker, thư mục tạo tác mà tôi gắn kết, được quyền root. Tôi muốn các tạo tác có quyền giống như người dùng. Có thể chuyển người dùng làm đối số trong khi chạy hình ảnh docker sao cho nó tạo thư mục tạo tác với quyền người dùng cụ thể không?docker chạy với quyền thay đổi khối lượng thư mục để root

Đây là cách tôi chạy Docker:

docker run --cap-add SYS_ADMIN --security-opt apparmor:unconfined -it -v /home/artifacts:/artifacts dock_img 

drwxr-xr-x 2 root root 4.0K Nov 16 13:58 artifacts 

Như hiện vật này được sự cho phép root, tôi không thể xử lý trên đó từ đăng nhập của tôi sử dụng. Ai đó có thể giúp tôi giải quyết vấn đề này không?

Trả lời

3

Điều này là do bạn sử dụng người dùng root bên trong vùng chứa.

Bạn có thể sử dụng thông số -u để đặt người dùng bạn sử dụng bên ngoài (ví dụ: -u `id -u $USER`), nhưng nếu bạn cần gốc bên trong vùng chứa, bạn phải gọi nó theo cách thủ công.

+0

Tôi đã cố gắng thêm -u $ USER khi chạy Docker nhưng nó mang lại cho lỗi: Không thể tìm thấy người dùng <> FATA [0000] Lỗi phản hồi từ daemon: Không thể bắt đầu 7bc5461c4d04cd42f9f5b54c9213bdb44bfc2841454953ac66ae64c0cdc4a53d container: [8] Lỗi hệ thống: Không thể tìm thấy người dùng < >. Tôi chưa thêm bất kỳ USER nào trong dockerfile, tùy chọn -u sẽ hoạt động mà không cần thêm USER vào dockerfile? –

+0

Có nó sẽ hoạt động, nhưng có vẻ như giao diện điều khiển của bạn không hỗ trợ subcommands trong backticks. Hãy thử sử dụng uid trực tiếp – Julian

+0

Bây giờ tôi nhận được lỗi khác nhau với tên: root @ onl-dev:/data/sept15/target-docker # docker run -u -it x docker: Phản hồi lỗi từ daemon: linux spec user : không thể tìm thấy người dùng : không có mục nhập nào phù hợp trong tệp passwd. Nhưng tôi thấy mục: root @ onl-dev:/data/sept15/target-docker # cat/etc/passwd | grep : x: 1012: 1012: ,,,:/home/:/bin/bash –

Các vấn đề liên quan