Docker (error getsockopt: connection refused ,使用http无法使用 docker login 登录的问题)
阅读原文时间:2023年07月08日阅读:1

因部署Harbor 镜像仓库,部署完了之后根据提示上传 images,需要使用docker  login   ip:port  进行登录,

登录的时候发现因为docker 默认是https,因为测试环境就没有配置证书,所以必须添加非安全的registry,

下面就是开始在各种找教程。。。。解决方法试了N种都不行

总结为以下几点

1、 vim /etc/docker/daemon.json

[root@ymedy-china docker]# cat /etc/docker/daemon.json
{
"insecure-registries":["192.168.10.110:80"]
}

还是不行

[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin): admin
Password:
Error response from daemon: Get https://192.168.10.110/v1/users/: dial tcp 192.168.10.110:443: getsockopt: connection refused

2、 vim /usr/lib/systemd/system/docker.service 可用

增加  --insecure-registry 192.168.10.110

[Service]
Type=notify
NotifyAccess=main
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current --insecure-registry 192.168.10.110 \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
--init-path=/usr/libexec/docker/docker-init-current \
--seccomp-profile=/etc/docker/seccomp.json \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
$REGISTRIES
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
"/usr/lib/systemd/system/docker.service" 41L, 1344C written

可用

[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin): admin
Password:
Login Succeeded

3、 vim   /etc/sysconfig/docker  **可用

**

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry=192.168.10.110'

可用

[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin):
Password:
Login Succeeded

4、 rm -rf /var/lib/docker (写这个博客的作者心思太坏,这个命令会删除你的所有容器和镜像!!!!!)

小结:网上搜索资料在输入命令或者更改配置之前,需要大概了解一下相关命令,不要轻易删除文件,如果实在要删除也要备份后在删除,避免不必要的损失,可以多看看评论。