docker设置镜像源和代理解决下载太慢问题

前言

本文汇总开发者使用docker遇到头疼的网络问题,下载太慢。

宿主机使用由docker镜像构建的命令行代理,可参考https://github.com/QiangZiBro/Qdotfiles,本文不讲解。假设宿主机命令行代理端口是8999,下面介绍几种使用场景。

一、镜像源

国内镜像源配置

第1步,vim /etc/docker/daemon.json,将本文件写为:

{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
  • Docker中国区官方镜像: https://registry.docker-cn.com
  • 网易: http://hub-mirror.c.163.com
  • ustc: https://docker.mirrors.ustc.edu.cn
  • 中国科技大学: https://docker.mirrors.ustc.edu.cn
  • 阿里云容器 服务: https://cr.console.aliyun.com

第2步

systemctl restart docker.service

二、代理

编译时使用代理

在容器中遇到一些git/pip操作,仍然无法连接,首先将宿主机配置好代理,编译时:

docker build -t image_name . --network host \
        --build-arg http_proxy=${http_proxy}\
        --build-arg https_proxy=${https_proxy}

运行时使用代理

首先将宿主机配置好代理,运行时:

docker run -it --network=host \
        --env http_proxy=${http_proxy}\
        --env https_proxy=${https_proxy} image_name

pycharm使用docker时使用代理

还有一种情况是使用专业版pycharm+docker环境,运行时会遇到一些下载操作,这种情况也需要使用代理。和上一个方法一样,对每一个运行配置,只需要加入下面参数即可。

--env http_proxy=${http_proxy} --env https_proxy=${https_proxy} 

docker-compose 中设置代理

version: "3.0"
services:
    my_service:
        image: image_name
        build:
            context: ./
            dockerfile: Dockerfile
        network_mode: "host" #注意使用此模式不需要端口映射,否则会报错
        environment:
            - "http_proxy=127.0.0.1:8999"
            - "https_proxy=127.0.0.1:8999"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值