- ModuleNotFoundError: No module named ‘certifi’
- https://192.168.58.132/v2/“: dial tcp 192.168.58.132:443: connect:connection refused">Error response from daemon: Get “https://192.168.58.132/v2/“: dial tcp 192.168.58.132:443: connect:connection refused
- http://docker:2375/v1.40/version: dial tcp: lookup docker on 192.168.58.2:53: no such host">error during connect: Get http://docker:2375/v1.40/version: dial tcp: lookup docker on 192.168.58.2:53: no such host
- [root @localhost ~]# docker login —username harbor —password Harbor12345 192.168.58.152 WARNING! Using —password via the CLI is insecure. Use —password-stdin.Error response from daemon: Get “ rel="nofollow" https://192.168.58.152/v2/ “: x509:certificate signed by unknown authority
- Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli) on project springboot_cicd: Failed to upload report - An error has occurred. Please contact your administrator -> [Help 1]
ModuleNotFoundError: No module named ‘certifi’
解决办法:https://pypi.org/project/certifi/#description
1、先安装 pip3。
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
2、使用 pip3 安装 certifi。
pip install certifi
Error response from daemon: Get “https://192.168.58.132/v2/“: dial tcp 192.168.58.132:443: connect:connection refused
修改本机 Host 的 /etc/docker/daemon.json,注意使用 tab 键而不是空格,如果出现 docker 无法启动的问题,重启电脑或者重装 harbor,同样的步骤我第三遍就成功了。
{
"registry-mirrors": ["https://pu5sdck7.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.58.103"]
}
重启 docker。
systemctl daemon-reload
systemctl restart docker
error during connect: Get http://docker:2375/v1.40/version: dial tcp: lookup docker on 192.168.58.2:53: no such host
解决:https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding
1、使用 Docker 套接字绑定:要在 CI/CD 作业中使用 Docker 命令,您可以绑定挂载 /var/run/docker.sock 到容器中。然后 Docker 在映像的上下文中可用。如果绑定了 Docker 套接字并且 使用的是 GitLab Runner 11.11 或更高版本,则不能再 docker:19.03.12-dind 用作服务。还对服务进行了卷绑定,使这些服务不兼容。
2、向 docker 执行程序注册一个运行程序并共享 /var/run/docker.sock :
gitlab-runner register -n \
--url http://192.168.58.12/ \
--registration-token MoBK-yx5JKHG7bUUX3Gt \
--tag-list docker \
--executor docker \
--description "My Docker Runner" \
--docker-image "docker:19.03.12" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock
3、这个命令注册一个新的运行器来使用 docker:19.03.12 Docker 提供的 镜像。该命令使用运行器本身的 Docker 守护程序。由 Docker 命令产生的任何容器都是 runner 的兄弟姐妹,而不是runner 的孩子。这可能会带来不适合您的工作流程的复杂性和局限性。您的 /etc/gitlab-runner/config.toml 文件现在应该有一个这样的条目:
[[runners]]
name = "My Docker Runner"
url = "http://192.168.58.12/"
token = "yTyUAE2Yh2suUKYNG8Gs"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "docker:19.03.12"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
4、使用 docker 在作业脚本。您不需要包含 docker:19.03.12-dind 服务,就像使用 Docker-in-Docker 执行程序时所做的那样。
[root@localhost ~]# docker login —username harbor —password Harbor12345 192.168.58.152 WARNING! Using —password via the CLI is insecure. Use —password-stdin.Error response from daemon: Get “ https://192.168.58.152/v2/“: x509:certificate signed by unknown authority
问题产生原因:在 152 服务器上配置了 https,在 151 服务器通过 docker login 时会通过 https 访问,但 151 并没有配置任何 tls 相关的 key 和 crt 文件,https 访问必然失败。使用 “–insecure-registry “可以指定 client 与 Registry 以 http 的方式进行通信。
修改 /lib/systemd/system/docker.service 文件里的 ExecStart= 行:
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry=192.168.58.152 --
containerd=/run/containerd/containerd.sock
重新启动 docker 服务:
systemctl daemon-reload
systemctl restart docker
进行登录验证:
docker login --username harbor --password Harbor12345 192.168.58.152