V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vdrapb
V2EX  ›  Docker

中国大陆现在要怎样才能正常使用 docker

  •  
  •   vdrapb · 2 天前 · 3054 次点击

    最近想学一下 Docker 的使用,装上去后发现什么都用不了,配置了国内镜像也一样,难道只能一直开着梯子才能正常用吗

    29 条回复    2025-03-12 00:41:14 +08:00
    shen13176101
        1
    shen13176101  
       2 天前   ❤️ 1
    开 vpn 无感安装下载
    chloerei
        2
    chloerei  
       2 天前   ❤️ 1
    一直开着梯子。
    dji38838c
        3
    dji38838c  
       2 天前
    这有什么好学的。
    fuzzsh
        4
    fuzzsh  
       2 天前
    国内高校/企业运营的镜像不公开 Docker Hub 的内容了,要稳定自己搭建
    ration
        5
    ration  
       2 天前   ❤️ 1
    用 cloudflare 弄个 Worker 自建个
    SunnyIng
        6
    SunnyIng  
       1 天前   ❤️ 1
    https://github.com/DaoCloud/public-image-mirror

    现在国内用的就是这个,大部分镜像都有
    Donaldo
        7
    Donaldo  
       1 天前   ❤️ 4
    ```
    cat /etc/docker/daemon.json
    {
    "registry-mirrors": [
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io",
    "https://docker.unsee.tech",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn",
    "https://docker.chenby.cn",
    "http://mirror.azure.cn",
    "https://dockerpull.org",
    "https://dockerhub.icu",
    "https://hub.rat.dev"
    ]
    }
    ```
    阿里云这样配置可以高速拉镜像
    sunziren
        8
    sunziren  
       1 天前
    旁路网关
    xiayun
        9
    xiayun  
       1 天前
    自己电脑上 我好像也都是开着梯子,其它云上的 有云代理 参照#7 改一下就行
    dcsuibian
        10
    dcsuibian  
       1 天前   ❤️ 1
    学习阶段我的建议是路由器装翻墙插件做透明代理,都学会了再去折腾网络
    镜像站这东西不稳定,治标不治本,即使今天不封明天也有可能封。梯子稳定好用太多,而且应用面广泛,包括 yum 、apt 都可以走代理,但缺点是路由器的梯子会影响家里的网络,不用的时候建议关掉。

    你学 docker 估计是装个 Linux 虚拟机的,不搞透明代理的话,你要注意宿主机流量走了梯子虚拟机大概率没走,虚拟机配置代理的话也不能单纯 export http 环境变量,另外 docker 本身( docker pull )走代理和 docker 内的容器走不走代理也是有区别的。而且有些镜像也不一定是在 docker hub 上的
    dcsuibian
        11
    dcsuibian  
       1 天前   ❤️ 2
    如果你已经学完了 docker ,那可以开始折腾网络了
    主要解决的问题就是服务器怎么走代理

    docker pull 走代理可以看这篇:
    https://www.lfhacks.com/tech/pull-docker-images-behind-proxy/

    我目前的方式是配置了/etc/systemd/system/docker.service.d/http-proxy.conf ,然后用
    ssh -R 7890:localhost:7890 -N remote-host
    把 clash 代理转发到云服务器上(因为服务器装 clash 不是很方便),pull 完了就断掉好了

    下一阶段就是多台服务器,可以考虑 Sonatype Nexus 自建 Docker 仓库
    iloveayu
        12
    iloveayu  
       1 天前
    想爽玩你就研究透明代理,一劳永逸
    bigshawn
        13
    bigshawn  
       1 天前
    我是用的赛博菩萨家的 worker 自己搭一个
    使用的项目地址 https://github.com/cmliu/CF-Workers-docker.io
    weenhall5
        14
    weenhall5  
       1 天前
    vim /etc/systemd/system/docker.service.d/proxy.conf

    Environment="HTTP_PROXY=http://192.168.x.x:port"
    Environment="HTTPS_PROXY=http://192.168.x.x:port"
    Environment="NO_PROXY=localhost,127.0.0.1"
    EastLord
        15
    EastLord  
       1 天前
    使用 Github Action 将国外的 Docker 镜像转存到阿里云私有仓库
    https://github.com/tech-shrimp/docker_image_pusher
    fanersai
        16
    fanersai  
       1 天前
    一直用的 1panel 的加速
    cwxiaos
        17
    cwxiaos  
       1 天前 via iPhone
    软路由或者 tun,其它方案都不咋地
    ala2008
        18
    ala2008  
       1 天前
    没办法,使用第三方镜像吧
    duanxianze
        19
    duanxianze  
       1 天前
    挂梯子有啥的,早该习惯了
    nofkbug
        20
    nofkbug  
       1 天前
    @weenhall5 你这样没用,正常的 url 请求可以,但是 pull image 会提示不支持 “Connect” method
    xpn282
        21
    xpn282  
       1 天前
    这就是主路由开代理或旁网关开代理的重要性

    家里总要配一个代理环境
    concernedz
        22
    concernedz  
       1 天前
    本地的话,vpn ,直接 clash 的 tun 模式了;
    如果是建站的话,就找镜像站吧,1panel
    julyclyde
        23
    julyclyde  
       1 天前
    @weenhall5 在 service 里用环境变量搞,稍微有点 imply
    建议还是直接写到 daemon.json 里
    zhangkai1024
        24
    zhangkai1024  
       1 天前
    @Donaldo docker28 这个方式已经不起作用了吧
    zhangkai1024
        25
    zhangkai1024  
       1 天前
    root@myscopedhost:~# docker -v
    Docker version 28.0.1, build 068a01e


    root@myscopedhost:~# sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://7swqvcdk.mirror.aliyuncs.com.mirror.aliyuncs.com"]
    }
    EOF
    {
    "registry-mirrors": ["https://7swqvcdk.mirror.aliyuncs.com.mirror.aliyuncs.com"]
    }


    root@myscopedhost:~# sudo docker run hello-world
    Unable to find image 'hello-world:latest' locally
    docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

    Run 'docker run --help' for more information


    ————
    这种方式修改镜像源地址是不是在 docker version 28 不起效了?大佬们
    Donaldo
        26
    Donaldo  
       1 天前
    @zhangkai1024 #22 有可能哈,我看了一眼我的版本我是 27.4.1 ,要是不行了,我就不更新了😂
    Donaldo
        27
    Donaldo  
       1 天前
    @zhangkai1024 #22 跟进一下,我在 v28 的 release notes 和文档里都没见到 registry-mirrors 被弃用的声明。
    kirara2024
        28
    kirara2024  
       1 天前
    http-proxy 方式仅限 pull/push 若你要容器内部网络完全正常 得借助其他方式
    as9567585
        29
    as9567585  
       12 小时 49 分钟前
    @dcsuibian #11 好办法,简单,实用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4233 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:30 · PVG 13:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.