在 Linux 上无 sudo 运行 Docker:添加用户到 docker 组

总是 sudo docker ... 很烦?原因是当前用户不在 Docker 预期的用户组里。按下面的步骤操作,一次配置,之后就能直接运行 Docker。 为什么需要 docker 组 Docker 守护进程运行在 root 权限,出于安全默认只允许 docker 组的用户访问 Unix socket。 如果用户不在 docker 组,就会提示权限不足,只能临时用 sudo。 配置步骤 确认 docker 组存在(大多数发行版安装 Docker 时会自动创建): sudo groupadd docker 已有同名组会提示已存在,忽略即可。 将当前用户加入 docker 组: sudo usermod -aG docker $USER 刷新组信息(无需重启): newgrp docker 如果想更彻底,可重新登录或重启终端/桌面会话。 验证 docker run hello-world 能正常拉取并输出欢迎信息,说明已生效。 常见问题与提示 权限仍不足:确认当前终端已重新登录或执行过 newgrp docker,并用 id 检查 docker 组是否列出。 安全注意:把用户加入 docker 组等同授予 root 权限,请仅在可信环境操作;服务器上要限制登录账户。 WSL/云主机:WSL 需开启 systemd 或使用官方 Docker Desktop;云主机要记得开放所需镜像仓库访问并做好防火墙配置。 按上述步骤设置后,日常直接运行 docker ... 即可,无需再加 sudo。 ...

如何将 Python 脚本部署到 Azure Container Apps Job

前言 最近在项目里需要把一个 Python 脚本放到 Azure Container Apps (ACA) 的 Job 中定时/按需运行,整理了一套最小示例,方便之后复用。 前提条件 已创建 Azure Container Registry (ACR),并确认所在的 resource group、位置。 已安装 Docker 与 Azure CLI,且可登录对应 Azure 订阅(具备推送镜像、创建 ACA Job 的权限)。 已准备好要运行的 Azure resource group(示例命令里用 RESOURCE_GROUP 占位)。 步骤 1. 准备程序 示例脚本会读取环境变量并打印日志,适合作为健康检查或批处理任务的模板。 main.py import logging import os import time logging.basicConfig( level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s", ) def main(): job_name = os.getenv("JOB_NAME", "demo-job") sleep_seconds = int(os.getenv("SLEEP_SECONDS", "5")) logging.info("Job %s started", job_name) for i in range(sleep_seconds): logging.info("Running step %s/%s", i + 1, sleep_seconds) time.sleep(1) logging.info("Job %s completed", job_name) if __name__ == "__main__": main() Dockerfile ...