如何使用Python SDK创建容器时设置UID和GID?
使用Docker Python SDK为容器设置UID和GID
在使用Docker Python SDK创建容器时,直接通过containers.run()方法的user参数即可指定容器内运行进程的UID、GID,或者两者组合:
- 仅指定UID:传入数字字符串(如
"1000") - 同时指定UID和GID:传入
"UID:GID"格式的字符串(如"1000:1000")
代码示例
import docker # 初始化Docker客户端 client = docker.from_env() # 示例1:仅设置UID # 容器内执行whoami命令,会输出UID对应的用户名(若存在) client.containers.run( image="ubuntu:latest", command="whoami", user="1000", detach=False ) # 示例2:同时设置UID和GID # 容器内执行id命令,会显示指定的UID和GID信息 client.containers.run( image="ubuntu:latest", command="id", user="1000:1000", detach=False )
这个user参数的作用等同于docker run命令中的--user选项,设置后容器内的进程将以指定的身份运行,能有效避免宿主机与容器间的文件权限冲突问题。
内容的提问来源于stack exchange,提问作者Dr.PB
相关产品推荐
相关产品推荐

