Docker非安全镜像仓库仅在sudo docker info中显示问题求助
问题分析与解决方法
核心原因
你当前普通用户使用的是Docker Desktop的Docker引擎(上下文desktop-linux),而sudo下使用的是系统原生的Docker引擎(上下文default)。你在/etc/docker/daemon.json和/etc/default/docker里配置的insecure-registries是针对系统原生Docker引擎的,Docker Desktop有独立的配置体系,所以普通用户执行docker info看不到该配置。
解决步骤
方法1:切换到系统原生Docker引擎
执行以下命令切换上下文,让普通用户使用系统级的Docker引擎:
docker context use default
切换后再次执行docker info,就能看到配置的nuc:5000 insecure registry了。
方法2:给Docker Desktop配置insecure registry
如果想继续使用Docker Desktop,需要在其内部添加配置:
- 打开Docker Desktop应用,进入设置界面
- 选择左侧的Docker Engine选项卡
- 在配置JSON中添加如下内容(确保格式正确,用逗号分隔已有配置项):
{ "insecure-registries": ["nuc:5000"] } - 点击应用并重启,等待Docker Desktop重启完成后,执行
docker info即可看到配置生效。
额外注意事项
- 系统原生Docker引擎的配置生效需要重启服务:
sudo systemctl restart docker /etc/default/docker中的DOCKER_OPTS配置已逐渐被daemon.json取代,推荐优先使用daemon.json进行配置。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

