Tôi đang chạy một số dịch vụ bên trong các container Docker LXC trên máy chủ của mình và tôi bắt đầu thực sự làm những việc nghiêm túc với chúng.
Một điều tôi không rõ là làm thế nào quyền của người dùng hoạt động bên trong và bên ngoài container. Ví dụ: nếu tôi đang chạy MySQL trong một thùng chứa và có thư mục dữ liệu được đặt thành /data
khối lượng Docker, thì các quyền bên trong và bên ngoài của container ảnh hưởng đến các chính sách truy cập như thế nào?
Rõ ràng, ý tưởng là chạy MySQL với tư cách là người dùng của chính nó trong vùng chứa (tức là mysql:mysql
) và cung cấp cho nó quyền đọc và ghi vào thư mục đó. Tôi giả định rằng điều này sẽ khá đơn giản, chỉ cần chmod
nhập thư mục, vv Nhưng làm thế nào để nó hoạt động bên ngoài container? Bây giờ tôi có khối lượng chia sẻ Docker này được gọi là 'dữ liệu', làm cách nào để quản lý kiểm soát truy cập vào nó?
Tôi đặc biệt mong muốn có thể chạy một người dùng không có đặc quyền bên ngoài bộ chứa Docker, định kỳ sẽ truy cập vào khối lượng chia sẻ của MySQL và sao lưu dữ liệu.
Làm cách nào tôi có thể thiết lập quyền, người dùng và nhóm để người dùng cụ thể trên máy chủ có thể đọc / ghi tệp và thư mục trong ổ đĩa chia sẻ Docker?
root
Nhân tiện, cũng có thể chạy các container không có đặc quyền . Quan trọng là một ánh xạ cho các userns được xác định.
docker
hỗ trợ cho điều đó, tuy nhiên), container LXC có thể được chạy như một người dùng không có quyền. Nếu không,root
người dùng bên trong container có thể có khả năng thoát ra nếu container được cấu hình không phù hợp. Tức làroot
trên máy chủ làroot
trong container trong một container LXC đặc quyền.