Docker 容器中指定用户及组权限
没有 root 权限,又需要在 Docker 容器內挂载 Volume,会发现产生出来的文件皆会是 root 权限,这时候在主机完全是无法写入的。
通过设定 Docker 容器用户及组权限,以解决上述问题。
Docker Run 指定用户及组权限
通过 -u 方式指定用户及组权限。
1docker run -it -v $PWD:/dir \
2 -u uid:gid ubuntu /bin/bash
为了更加方便,上述指令可以改成:
1docker run -ti -v $PWD/tmp:/test \
2 -u $(id -u):$(id -g) ubuntu /bin/bash
TODO: id -u
获取当前用户UID,id -g
获取当前用户GID
Dockerfile 指定用户及组权限
除 Docker RUN 时指定外,也可在 dockerfile 内直接指定用户及组权限。
1# Dockerfile
2USER 1000:1000
不推荐这种方式,不灵活。