Ders 4.51: Docker için kullanıcı ad alanı eşlemesi
Varsayılan olarak Docker kapsayıcısındaki root makinede de UID 0'dır; bu yüzden her kaçış gerçek root olarak sonuçlanır. userns-remap ile arka plan programı her kapsayıcıyı bir kullanıcı ad alanında çalıştırır: içerideki root dışarıda alt aralıktan ayrıcalıksız bir UID olur. Laboratuvarda mağazanın web kapsayıcısının makinede root olarak çalıştığını doğruluyor, eşlemeyi açıyor, Docker'ın bunun için ne oluşturduğunu (ve neyi gizlediğini: eski kapsayıcıları ve imajları) görüyor, kapsayıcıyı yeniden başlatıyor ve yeni UID'sini ve eşlemesini okuyorsun.
16 dk
Bu derste öğreneceklerin
- Kapsayıcı root'unun varsayılan olarak makine root'u olduğunu göstermek
- /etc/docker/daemon.json'da userns-remap'i açmak
- dockremap kullanıcısını ve alt aralıklarını bulmak
- Var olan kapsayıcıların ve imajların neden kaybolduğunu açıklamak
- Eşlenmiş bir kapsayıcının UID'sini ve uid_map'ini okumak
Temel terimler
- userns-remap
- Tüm kapsayıcıları bir alt UID aralığına eşlenmiş bir kullanıcı ad alanında çalıştıran dockerd ayarı.
- dockremap
- Docker'ın 'default' için oluşturduğu sistem kullanıcısı; /etc/subuid aralığı kapsayıcı UID'lerini sağlar.
- DockerRootDir
- dockerd'nin imajları ve kapsayıcıları tuttuğu yer; eşlemede aralık başına bir alt dizin.
- --userns=host
- Kapsayıcı başına eşlemeden çıkış; --privileged ya da makine ad alanları için gerekir.
- Rootless kip
- Arka plan programının kendisini sıradan bir kullanıcı olarak çalıştırmak; daha güçlü, ayrı bir seçenek.
← systemd ile hizmet başına ağ politikası · Tüm dersler · MFA yorgunluğu ve hesap ele geçirme →