• k8s1.25如何设置docker代理


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 云计算力工 2024-06-27 13:57 采纳率: 0% 浏览 15 首页/ 开发工具 / k8s1.25如何设置docker代理 dockerkubernetes运维 如何在k8s1.25版本设置docker代理!! Waiting for pod gitlab-ci/runner-rklyvo2x-project-1-concurrent-057jbm to be running, status is Pending ContainersNotReady: "containers with unready status: [build helper svc-0]" ContainersNotReady: "containers with unready status: [build helper svc-0]" WARNING: Failed to pull image with policy "": image pull failed: rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/docker:18.09.7": failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/10/108a4437ed8ca450ea2c0456e3d08a36a3ce7934275bd9745741dad2e234b353/data?verify=1719469958-9c%2FGI1rCaAE97306LtzxxYVo3DI%3D": dial tcp 157.240.1.33:443: connect: connection refused ERROR: Job failed: prepare environment: waiting for pod running: pulling image "docker:18.09.7": image pull failed: rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/docker:18.09.7": failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/10/108a4437ed8ca450ea2c0456e3d08a36a3ce7934275bd9745741dad2e234b353/data?verify=1719469958-9c%2FGI1rCaAE97306LtzxxYVo3DI%3D": dial tcp 157.240.1.33:443: connect: connection refused. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-27 13:57
      关注

      引自免费微信小程序:皆我百晓生

      从你的问题来看,你在使用 Kubernetes(k8s)和 Docker 时遇到了代理设置的问题。特别是你在尝试拉取 Docker 镜像时遇到了连接被拒绝的问题。这可能是由于网络代理设置不正确导致的。为了解决这个问题,你需要在 Kubernetes 和 Docker 两个层面设置代理。以下是一些步骤供你参考:

      在 Kubernetes 中设置代理:

      在 Kubernetes 的配置文件中设置代理。具体的配置文件位置可能会根据你的设置有所不同,通常在 ~/.kube/config。你可以使用编辑器打开这个文件,并在其中添加或修改以下内容:

      clusters:
      - cluster:
          # ... 其他配置 ...
          httpProxy:  # 例如:http://proxy.example.com:8080
          httpsProxy:  # 例如:https://proxy.example.com:8080
          noProxy:  # 例如:localhost,127.0.0.1,gitlab.com
      

      保存文件后,重新加载 Kubernetes 配置。

      在 Docker 中设置代理:

      对于 Docker,你可以通过设置环境变量来配置代理。在启动 Docker 容器或 Docker daemon 时,可以添加以下环境变量:

      export http_proxy=
      export https_proxy=
      export no_proxy=
      

      或者你可以在 Docker 的配置文件中设置这些环境变量。这个文件的位置通常是 /etc/docker/daemon.json。添加如下内容:

      {
        "proxies": {
          "httpProxy": "",
          "httpsProxy": "",
          "noProxy": ""
        }
      }
      

      然后重启 Docker daemon。根据你的操作系统,命令可能会有所不同,通常可以使用 sudo systemctl restart docker

      关于你的错误消息:

      你的错误消息显示尝试从 production.cloudflare.docker.com 拉取镜像时连接被拒绝。这可能是因为你的网络需要通过代理访问外部网络,而你没有正确设置这个代理。按照上述步骤设置代理后,再次尝试拉取镜像。如果问题仍然存在,可能需要检查你的代理服务器设置或网络策略。

      注意:请用你的实际代理服务器地址替换 。这些地址应该由你的网络管理员提供。

      展开全部

      评论 编辑记录
    • newy-sun 2024-06-27 14:38
      关注

      编辑Docker服务的systemd配置文件:在/lib/systemd/system/docker.service文件中,找到[Service]部分,添加或修改HTTP_PROXY和HTTPS_PROXY环境变量,以及NO_PROXY变量来指定不需要代理的地址。例如:

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"
      Environment="HTTPS_PROXY=https://proxy.example.com:443"
      Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com" 
      
      

      注意,NO_PROXY中的值可以用逗号分隔,并且可以使用通配符*。如果设置NO_PROXY=*,则所有请求都不会通过代理服务器。

      重新加载systemd配置并重启Docker服务:

      
      
      
      
      sudo systemctl daemon-reload
      sudo systemctl restart docker
      

      检查环境变量是否正确设置:

      
      sudo systemctl show --property=Environment docker
      

      使用daemon.json配置代理:如果使用的是Docker 17.07及以上版本,可以在/etc/docker/daemon.json文件中增加代理配置,例如:

      {
        "registry-mirrors": ["..."],
        "proxies": {
          "http-proxy": "http://:@:",
          "https-proxy": "http://:@:",
          "no-proxy": ""
        }
      }
      
      

      然后重启Docker服务以应用配置。

      使用systemctl edit命令修改Docker服务的网络代理:这种方法避免了直接修改Docker服务的主配置文件,而是通过创建一个特定的覆盖文件来实现配置。步骤包括使用systemctl edit docker.service命令打开编辑器,添加代理配置,保存并退出编辑器,然后重新加载systemd daemon并重启Docker服务:

      
      sudo systemctl daemon-reload
      sudo systemctl restart docker.service
      

      展开全部

      评论
      云计算力工 2024-06-27 16:59

      我的docker版本如下: [root@k8s-master-node1 docker]# docker --version
      Docker version 24.0.5, build ced0996
      我使用find / -name daemon.json 都没有查找到有这个文件

      回复
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    数据可视化在智慧园区中的核心价值解析
    用户行为数据案例
    DevExpress VCL Subscription 23 crack
    [免费专栏] Android安全之剪贴板+键盘缓存+UI界面+自动截屏敏感信息挖掘
    界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器
    数据结构和算法
    如何在处理链中执行一个选择性删除ADSO数据的程序 selective deletion
    “Cloud“(云)
    【Java中23种面试常考的设计模式之单例模式(Singleton)---创建型模式】
    小程序门店自提功能,提高线上线下销售量
  • 原文地址:https://ask.csdn.net/questions/8124659