Docker 容器移动后用户权限问题
将docker的容器从服务器转移到本地后,会发现本地用户的id和服务器上的用户不同,需要更改以后才能有权限操作文件。
先查看当前本地用户的id
1$ id2uid=1000(ling) gid=1000(ling) 组=1000(ling),3(sys),90(network),98(power),108(vboxusers),150(wireshark),955(docker),985(video),991(lp),994(input),998(wheel),1001(ccstudio
再查看容器中的用户id,并查找容器中是否已经存在本地用户的id
1$ id2uid=1004(developer) gid=1004(dev) groups=1004(dev),27(sudo)3$ grep ':1000:' /etc/passwd4ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
将容器中的用户 id 和组id 改为本地用户一致。
1sudo groupmod -g 1001 ubuntu # 将 ubuntu 组id 改为 10012sudo groupmod -g 1000 dev # 将 dev 组id 改为 10003sudo usermod -u 1001 ubuntu # 将 ubuntu id 改为 10014sudo usermod -u 1000 developer # 将 developer id 改为 1000