Docker配置代理
时间:2023-03-04
本文章向大家介绍Docker配置代理,主要内容包括Docker Pull配置代理、Docker Build配置代理、Docker Container配置代理、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Docker Pull配置代理
用docker拉取halohub/halo的时候特别慢,使用国内docker镜像也不行,可以通过设置代理来解决
在执行docker pull
时,是由守护进程dockerd
来执行。因此,代理需要配在dockerd
的环境中。而这个环境,则是受systemd
所管控,因此实际是systemd
的配置。
sudo cd /etc/systemd/system
sudo mkdir docker.service.d
sudo cd docker.service.d/
sudo vi proxy.conf
#######################################################
[Service]
Environment="HTTP_PROXY=http://xxx.xxx.xxx.xxx:1081/"
Environment="HTTPS_PROXY=http://xxx.xxx.xxx.xxx:1081/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
########################################################
sudo systemctl daemon-reload
sudo systemctl restart docker
此时,再拉取的时候,直接从docker官方拉取速度极快
Docker Build配置代理
自己制作镜像的时候,可能会用到国外的一些源,此时会非常慢,例如下面制作writefreely镜像的时候,用到了npm源,就会很慢
对此,我们有两种解决方法,第一种直接在Dockerfile中加入代理环境变量,第二种,构建时命令行注入代理参数
第一种:
FROM golang:1.15-alpine as build
ENV http_proxy "http://xxx.xxx.xxx.xxx:1081"
ENV HTTP_PROXY "http://xxx.xxx.xxx.xxx:1081"
ENV https_proxy "http://xxx.xxx.xxx.xxx:1081"
ENV HTTPS_PROXY "http://xxx.xxx.xxx.xxx:1081"
RUN apk add --update nodejs npm make g++ git
RUN npm install -g less less-plugin-clean-css
RUN mkdir -p /go/src/github.com/writefreely/writefreely
WORKDIR /go/src/github.com/writefreely/writefreely
COPY . .
ENV GO111MODULE=on
第二种:
docker build . \
--build-arg "HTTP_PROXY=http://xxx.xxx.xxx.xxx:1081/" \
--build-arg "HTTPS_PROXY=http://xxx.xxx.xxx.xxx:1081/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
-t your/image:tag
Docker Container配置代理
Docker Container本质上就是启动了一个Linux系统,这个Linux系统要上网,也是需要配置代理,可以docker exec登陆,也可以在构建在时候就注入代理
第一种,配置当前用户docker配置文件:
cd ~/.docker
vi config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://xxx.xxx.xxx.xxx:1081",
"httpsProxy": "http://xxx.xxx.xxx.xxx:1081",
"noProxy": "localhost,127.0.0.1,.example.com"
}
}
}
配置完之后,之后用此用户启动的任何容器都会使用代理。
第二种:
在docker run命令中,使用-e http_proxy和https_proxy注入,这个只对本次开启的容器有效。
原文地址:https://www.cnblogs.com/monkey6/p/17179013.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 微信企业转账之入口类分装php代码
- 多个Laravel项目怎么共用migrations详解
- layui数据表格自定义每页条数limit设置
- Laravel 集成微信用户登录和绑定的实现
- PHP实现微信对账单处理
- Laravel5.1框架路由分组用法实例分析
- PHP的HTTP客户端Guzzle简单使用方法分析
- laravel 框架实现无限级分类的方法示例
- 详解Laravel5.6通过路由进行API版本控制的简单方法
- php+layui数据表格实现数据分页渲染代码
- thinkPHP框架乐观锁和悲观锁实例分析
- PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
- laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
- Laravel框架实现即点即改功能的方法分析
- PHP使用PDO实现mysql防注入功能详解