ModuleNotFoundError: No module named ‘certifi’

解决办法:https://pypi.org/project/certifi/#description
1、先安装 pip3。

  1. wget https://bootstrap.pypa.io/get-pip.py
  2. python3 get-pip.py

2、使用 pip3 安装 certifi。

  1. 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,同样的步骤我第三遍就成功了。

  1. {
  2. "registry-mirrors": ["https://pu5sdck7.mirror.aliyuncs.com"],
  3. "insecure-registries": ["192.168.58.103"]
  4. }

重启 docker。

  1. systemctl daemon-reload
  2. 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 :

  1. gitlab-runner register -n \
  2. --url http://192.168.58.12/ \
  3. --registration-token MoBK-yx5JKHG7bUUX3Gt \
  4. --tag-list docker \
  5. --executor docker \
  6. --description "My Docker Runner" \
  7. --docker-image "docker:19.03.12" \
  8. --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 文件现在应该有一个这样的条目:

  1. [[runners]]
  2. name = "My Docker Runner"
  3. url = "http://192.168.58.12/"
  4. token = "yTyUAE2Yh2suUKYNG8Gs"
  5. executor = "docker"
  6. [runners.custom_build_dir]
  7. [runners.cache]
  8. [runners.cache.s3]
  9. [runners.cache.gcs]
  10. [runners.cache.azure]
  11. [runners.docker]
  12. tls_verify = false
  13. image = "docker:19.03.12"
  14. privileged = false
  15. disable_entrypoint_overwrite = false
  16. oom_kill_disable = false
  17. disable_cache = false
  18. volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
  19. 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= 行:

  1. ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry=192.168.58.152 --
  2. containerd=/run/containerd/containerd.sock

重新启动 docker 服务:

  1. systemctl daemon-reload
  2. systemctl restart docker

进行登录验证:

  1. docker login --username harbor --password Harbor12345 192.168.58.152

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]