0
我試圖在Docker容器中包含複雜應用程序的依賴關係,但讓它在我自己的文件上運行,而不會在最後衝突UID。從本質上講,我想運行是這樣的:用我自己的權限運行碼頭容器
docker run \
--rm \
--volume $HOME/playbook:/playbook --workdir /playbook \
--user $(id --user) \
container_image
然而,這種失敗,因爲應用程序需要提供的UID對應於用戶名:
getpwuid(): uid not found: 1000
最後我把這個在Dockerfile
:
RUN \
for uid in seq 1000 1010; do \
adduser --home /tmp/user_$uid --uid $uid user_$uid; \
done
有沒有更好的解決方案?
另一種解決方案可能是設置一個目錄服務器。除非你有一些非常具體的要求,否則LDAP可能是最明智的選擇。 –
用戶名空間可以是一個選項。目前用戶名空間在守護程序級別可用,我想有計劃在容器級別添加它。 – Sreeni