一些帮助将不胜感激。
我运行一个服务器,并且正在运行一个 docker-registry,我正尝试从本地设备推送/拉取该注册表。我的本地设备配置如下:
sudo vim /etc/hosts
并添加新条目:
# Manually added for server Docker registry
<server_ip> nuc
ping nuc
以确保连接。
sudo vim /etc/docker/daemon.json
{
"insecure-registries": ["nuc:5000"]
}
编辑
sudo vim /etc/default/docker
{
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--insecure-registry=nuc:5000"
}
我遇到的问题是,运行
docker info
时,指定的 insecure-registry
未列出,但是,当我运行 sudo docker info
时,它会列出。请注意,我当前的 $USER
是 docker
组的一部分,我可以运行 docker 命令而无需使用 sudo
(遵循以下步骤:Docker 安装后步骤)。
注意我从 StackOverflow 获得灵感:
任何帮助和指导将不胜感激。
编辑:附加信息
docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock
desktop-linux * moby Docker Desktop unix:///home/ben/.docker/desktop/docker.sock
sudo docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock
printenv DOCKER_HOST
和echo $DOCKER_HOST
什么也没回来
sudo printenv DOCKER_HOST
和sudo echo $DOCKER_HOST
什么也没回来
从
docker context
输出来看,您似乎有两个独立的 docker 引擎。一种是直接安装在主机上,以 root 身份运行,并监听 /var/run/docker.sock
。另一个引擎在具有 Docker Desktop 的虚拟机内运行。
Linux 上的桌面文档在~/.docker/desktop/settings.json
指定了它们自己的配置文件位置,并且还应该有一个用于更新其不安全注册表设置的 UI。