V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vincent927
V2EX  ›  问与答

docker 下载国外镜像问题

  •  
  •   vincent927 · 2021-07-23 15:30:21 +08:00 · 2955 次点击
    这是一个创建于 1248 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有什么办法可以一劳永逸解决无法下载国外镜像的问题,如 k8s.gcr.io 。不想用国内镜像源然后再 tag 改名,觉得太麻烦了。

      Type     Reason     Age                 From               Message
      ----     ------     ----                ----               -------
      Normal   Scheduled  3m3s                default-scheduler  Successfully assigned rook-ceph/csi-cephfsplugin-56p5v to node02.k8s.lo
      Normal   Pulled     89s                 kubelet            Container image "quay.io/cephcsi/cephcsi:v3.3.1" already present on machine
      Warning  Failed     89s                 kubelet            Failed to pull image "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.2.0": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
      Warning  Failed     89s                 kubelet            Error: ErrImagePull
      Normal   Pulled     89s                 kubelet            Container image "quay.io/cephcsi/cephcsi:v3.3.1" already present on machine
      Normal   Created    89s                 kubelet            Created container csi-cephfsplugin
      Normal   Started    89s                 kubelet            Started container csi-cephfsplugin
      Normal   Created    89s                 kubelet            Created container liveness-prometheus
      Normal   Started    89s                 kubelet            Started container liveness-prometheus
      Normal   BackOff    87s (x2 over 88s)   kubelet            Back-off pulling image "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.2.0"
      Warning  Failed     87s (x2 over 88s)   kubelet            Error: ImagePullBackOff
      Normal   Pulling    73s (x2 over 3m3s)  kubelet            Pulling image "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.2.0"
    
    16 条回复    2021-07-24 12:15:15 +08:00
    vincent927
        1
    vincent927  
    OP
       2021-07-23 15:36:42 +08:00
    目前已知的就是 docker 通过代理科学上网
    amwyyyy
        2
    amwyyyy  
       2021-07-23 15:52:13 +08:00
    肉身翻墙
    jingslunt
        3
    jingslunt  
       2021-07-23 16:06:34 +08:00
    gcr.ioquay.io 域名通过代理科学上网也有问题,除非用 vpn 全局模式。
    如果用 rancher 部署的,部署 csi 插件应该没啥问题

    如果部署 k8s 通用的办法还是去替换,可参考以下 shell 脚本
    https://github.com/lework/kainstall/blob/master/kainstall-centos.sh
    社区比较受欢迎的有 sealos(阿里的 sealer),KubeSphere(青云的),Kubesprary(ansible 的需改镜像)

    或者通过 cncf 认证的部署方式,比较有名的是 rancher 的 rke2(rancherd)
    其中有几个是国内公司:
    XiLingHost
        4
    XiLingHost  
       2021-07-23 16:31:26 +08:00
    1.先用 artifactory 或者 nexus 搭镜像站
    2.配置 artifactory 或者 nexus 使用代理
    3.在 /etc/docker/daemon.json 中把镜像配置为你搭建的镜像站的地址
    Illusionary
        5
    Illusionary  
       2021-07-23 17:09:10 +08:00
    1 、准备一台外国小鸡,安装 docker,在上面 pull 镜像
    2 、准备一个国内仓库,比如阿里云容器镜像服务,个人版
    4 、把你小鸡上的镜像打 tag,推回阿里云仓库
    5 、你需要部署服务器上使用已回国的镜像地址
    efaun
        6
    efaun  
       2021-07-23 17:12:41 +08:00
    来生别在种花家
    vincent927
        7
    vincent927  
    OP
       2021-07-23 17:14:53 +08:00
    @jingslunt 感谢,你说的都相当于是经过二次开发的或者套一个壳部署,我想用 k8s 官方的,如 kubeadm 。
    anonymous256
        8
    anonymous256  
       2021-07-23 18:32:38 +08:00
    恶心啊。什么时候才有不受限制的互联网访问权?
    thet
        9
    thet  
       2021-07-23 18:35:54 +08:00 via iPhone
    路由器搭代理
    lindas
        10
    lindas  
       2021-07-23 21:20:03 +08:00
    @anonymous256 知足吧,现在还能收到境外短信
    Lightbright
        11
    Lightbright  
       2021-07-23 21:21:28 +08:00 via Android
    如果是虚拟机的话,可以通过外面物理机的 TUN/TAP 透明代理整个虚拟机的网络。一劳永逸
    waising
        12
    waising  
       2021-07-24 00:59:48 +08:00 via iPhone
    还是笨方法,先开 docker 代理拉取镜像到本地再推送到私有镜像仓库.
    arischow
        13
    arischow  
       2021-07-24 01:06:37 +08:00 via iPhone
    Mac 的话,Surge 或者 Clash 网关模式
    集群上的话,把 Helm Chart / K8S YAML 要用的镜像同步到自己云服务商的私有镜像仓库,再 override 一下配置
    stille
        14
    stille  
       2021-07-24 01:13:02 +08:00 via iPhone
    我是国外服务器搭个 registry 代理 一劳永逸!
    kidlj
        15
    kidlj  
       2021-07-24 01:50:43 +08:00   ❤️ 1
    $ cat /etc/systemd/system/docker.service.d/http-proxy.conf

    [Service]
    Environment="HTTP_PROXY=http://172.17.52.1:8118"
    Environment="HTTPS_PROXY=http://172.17.52.1:8118"

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker
    zhanggong
        16
    zhanggong  
       2021-07-24 12:15:15 +08:00
    @anonymous256 门只会越关越死
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2483 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:43 · PVG 23:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.