您现在的位置是:首页 >技术教程 >Ubuntu系统docker非root用户部署并调整默认存储位置网站首页技术教程
Ubuntu系统docker非root用户部署并调整默认存储位置
简介Ubuntu系统docker非root用户部署并调整默认存储位置
别的可以参考,但最好别改成app用户,也别用 userns-remap,权限问题很大。
如果要让非 root 用户(app 用户)管理 Docker 目录,需要做一些额外配置。以下是详细步骤:
首先将 app 用户添加到 docker 用户组:
# 添加用户到 docker 组
sudo usermod -aG docker app
# 重新登录以使组权限生效
# 或者运行下面的命令立即生效
newgrp docker
创建新目录并设置权限:
# 创建新目录
sudo mkdir -p /data/app/docker
# 更改目录所有权
sudo chown -R app:docker /data/app/docker
# 设置适当的权限
sudo chmod 770 /data/app/docker
配置 Docker daemon:
# 编辑或创建 daemon.json
sudo nano /etc/docker/daemon.json
# 添加以下内容
{
"data-root": "/data/app/docker",
"userns-remap": "app"
}
创建用户命名空间映射(这一步很重要):
# 编辑 /etc/subuid
sudo nano /etc/subuid
# 添加下面这行(将 1000 替换为 app 用户的实际 UID)
app:1000:65536
# 编辑 /etc/subgid
sudo nano /etc/subgid
# 添加下面这行(将 1000 替换为 app 用户的实际 GID)
app:1000:65536
重启 Docker 服务:
sudo systemctl restart docker
验证配置:
# 检查 Docker 信息
docker info
# 尝试运行容器
docker run hello-world
注意事项:
使用 userns-remap 会影响一些需要特权访问的容器
如果遇到权限问题,可以检查:
# 查看 app 用户的 UID
id app
# 查看 Docker 目录权限
ls -la /data/app/docker
如果之前有运行的容器和镜像,在更改存储位置后需要重新拉取
您要我详细解释某个步骤吗?或者需要帮助排查可能遇到的问题?
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结