#Docker
共 146 篇文章
Docker 交互容器第一次按 Ctrl-P 无法调出历史命令
Docker 默认脱离序列以 Ctrl-P 开头,会影响交互容器中的历史快捷键。用 --detach-keys 更换当前连接的序列,并区分客户端配置、终端映射和退出主进程。
APT 更新 Docker 软件源时报 Signed-By 冲突
APT 更新 Docker 软件源时报 Signed-By 冲突。定位同一仓库的重复 .list 与 .sources 条目,备份后只停用确认多余的配置,保留签名验证,并核对索引更新、软件包来源和回退路径。
Docker Compose 修改环境变量后,restart 仍使用旧值
Docker Compose 修改 environment 或 env_file 后,restart 不会更新已有容器的环境。区分最终配置、容器环境与应用行为,再重建指定服务,并核对数据保留和回退条件。
Docker apt-get 安装报 404:分开的 update 层可能复用了旧索引
Docker 构建的 apt-get 安装返回软件包 404,检查 update 是否命中旧缓存。合并更新和安装,区分基础镜像刷新及软件源错误。
Redis 连接报 NOAUTH 或 WRONGPASS
Redis 客户端报 NOAUTH 或 WRONGPASS 时,检查认证参数、实际加载的配置与 ACL 用户状态;若认证通过后出现 NOPERM,再核对命令和键权限。
Compose Secret 设置 uid、gid、mode 后权限仍未改变
文件型 Compose Secret 使用绑定挂载,不应用 uid、gid、mode 重映射。按来源选择环境变量型 Secret 或专用源文件权限,并核对实际身份、轮换和回退。
Dockerfile 的 RUN source 报 not found:切换构建 shell 后还要保留同一步环境
构建时RUN source报not found,检查Dockerfile默认shell。选择Bash或POSIX点命令,并在同一RUN使用加载的环境。
MySQL 改了容器密码仍 Access denied:先看已有数据卷
容器环境变量变化不等于已有数据库账号密码变化。先确认数据目录和账号匹配,再选择受控改密,保留数据与恢复路径。
Docker 删除镜像时报 image is referenced in multiple repositories
核对同一镜像的多个本地名称,按具体标签解除不再需要的引用,保留其他用途与镜像恢复路径。
Docker 构建镜像时报 repository name must be lowercase
Docker 镜像仓库路径中的字母必须小写,标签则可以包含大写字母。核对 Compose 展开后的 image 值,只修正仓库路径,并保留构建、推送和部署使用的标签一致性。
Docker 构建用 ARG 传短期令牌,依赖安装层每次失去缓存
短期令牌作为构建参数变化,会让依赖安装步骤失去缓存。改用 BuildKit secret 挂载认证文件,并用锁文件和公开版本控制依赖刷新。
卸载 Docker Desktop 后拉取镜像报 docker-credential-desktop 找不到
从 Docker Desktop 切换到 Linux Engine 后,旧凭据助手配置可能导致镜像拉取失败。核对客户端配置路径、助手优先级与 PATH,再迁移到可用存储,避免无意把凭据改存配置文件。
MongoDB 加上业务库名后 Authentication failed:核对 authSource
同一 MongoDB 账号不带库名可连接,指定业务库后认证失败,检查认证库、用户所属库与角色,避免删除数据卷或一律改成 admin。
Docker Compose 报 env_file.0 must be a string:旧版本不支持可选环境文件
Compose 在读取 env_file 时提示列表元素必须是字符串,可能是旧解析器不支持 path 和 required。确认实际入口与版本,更新插件,并避免临时路径列表改变可选文件语义。
Dependency-Track 前端启动时报 default.conf: Read-only file system
Dependency-Track 前端启用只读根文件系统后,envsubst 无法生成 default.conf。区分根文件系统与只读挂载,说明允许可写容器层时的调整方法、运行时配置检查,以及严格只读部署的边界。
Docker 配置 CA 后仍 unknown authority:certs.d 目录要匹配仓库地址
curl 指定 CA 正常,Docker 私有仓库仍 unknown authority,核对 daemon 主机、certs.d 的主机端口目录和 .crt 用途,区分 SAN 与链问题。
后端容器未启动,Nginx 报 host not found in upstream
Docker 中一个可选后端没有启动,Nginx 因 host not found in upstream 无法加载配置。适用于开源版 Nginx 1.27.3 及以上版本,通过 resolve、zone 和 resolver 配置运行时解析,并核对网络、请求路径和回退条件。
scratch 镜像设置 USER nobody 后无法启动:镜像里没有用户记录
scratch镜像没有默认账号记录,USER只选择身份。检查数字UID/GID、最小passwd/group映射与目录权限。
docker export/import 后启动报 No command specified
docker export/import 后启动报 No command specified,通常需要核对镜像启动元数据。区分镜像归档与根文件系统归档,恢复 CMD、ENTRYPOINT 及部署配置。


