Docker (error getsockopt: connection refused ,使用http无法使用 docker login 登录的问题)

方案解决:Docker (error getsockopt: connection refused ,使用http无法使用 docker login 登录的问题)

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

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

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

总结为以下几点

1、 vim /etc/docker/daemon.json

{
	"registry-mirrors":["https://d8b3zdiw.mirror.aliyuncs.com"],
	"insecure-registries":["10.122.61.205"],
    "graph":"/data/docker"
}

重点是那个 "insecure-registries":["10.122.61.205"] , 这里10.122.61.205 就是那个docker image镜像仓库地址。

 

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

增加  --insecure-registry 10.122.61.205

[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 10.122.61.205  \
          --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

 选择上面的两种方法之一,然后重新启动docker

systemctl restart docker

# docker login 10.122.61.205
Username (admin): admin
Password: 
Login Succeeded

 

你可能感兴趣的:(docker)