配置 HTTP/HTTPS 网络代理
使用Docker的过程中,因为网络原因,通常需要使用 HTTP/HTTPS 代理来加速镜像拉取、构建和使用。下面是常见的三种场景。
"docker pull" 命令是由 dockerd 守护进程执行。而 dockerd 守护进程是由 systemd 管理。因此,如果需要在执行 "docker pull" 命令时使用 HTTP/HTTPS 代理,需要通过 systemd 配置。
为 dockerd 创建配置文件夹。
复制
sudo mkdir -p /etc/systemd/system/docker.service.d
为 dockerd 创建 HTTP/HTTPS 网络代理的配置文件,文件路径是 /etc/systemd/system/docker.service.d/http-proxy.conf 。并在该文件中添加相关环境变量。
复制
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
刷新配置并重启 docker 服务。
复制
sudo systemctl daemon-reload
sudo systemctl restart docker
在容器运行阶段,如果需要使用 HTTP/HTTPS 代理,可以通过更改 docker 客户端配置,或者指定环境变量的方式。
更改 docker 客户端配置:创建或更改 ~/.docker/config.json,并在该文件中添加相关配置。
复制
{
"proxies":
{
"default":
{
"httpProxy": "http://proxy.example.com:8080/",
"httpsProxy": "http://proxy.example.com:8080/",
"noProxy": "localhost,127.0.0.1,.example.com"
}
}
}
指定环境变量:运行 "docker run" 命令时,指定相关环境变量。
| 环境变量 | docker run 示例 |
|---|---|
|
HTTP_PROXY |
--env HTTP_PROXY="http://proxy.example.com:8080/" |
|
HTTPS_PROXY |
--env HTTPS_PROXY="http://proxy.example.com:8080/" |
|
NO_PROXY |
--env NO_PROXY="localhost,127.0.0.1,.example.com" |
在容器构建阶段,如果需要使用 HTTP/HTTPS 代理,可以通过指定 "docker build" 的环境变量,或者在 Dockerfile 中指定环境变量的方式。
使用 "--build-arg" 指定 "docker build" 的相关环境变量
复制
docker build \
--build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
--build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" .
在 Dockerfile 中指定相关环境变量
| 环境变量 | Dockerfile 示例 |
|---|---|
|
HTTP_PROXY |
ENV HTTP_PROXY="http://proxy.example.com:8080/" |
|
HTTPS_PROXY |
ENV HTTPS_PROXY="http://proxy.example.com:8080/" |
|
NO_PROXY |
ENV NO_PROXY="localhost,127.0.0.1,.example.com" |
[Service]
Environment="HTTP_PROXY=http://192.168.50.xx:7890/"
Environment="HTTPS_PROXY=http://192.168.50.xx:7890/"
Environment="NO_PROXY=localhost,127.0.0.1,.nvxclouds.com,192.168.0.0/16"
配置 HTTP/HTTPS 网络代理的更多相关文章
- 使用 FiddlerCore 自定义 HTTP/HTTPS 网络代理
Fiddler 是个很好用的网络请求查看与调试工具,还可以写插件来扩展其功能. Fiddler 插件开发,使用 WPF 作为 UI 控件 - J.晒太阳的猫 - 博客园 但部分场景下,需要自定义很多网 ...
- git使用,Git的skil-map,git配置http/https/socks5代理
. 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 ...
- 下载编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理
http://blog.csdn.net/gangchengzhong/article/details/52910225 [注意,在编译make时出现的错误并不是文章中说的openssl的版本问题,而 ...
- Android开发中网络代理设置实用总结
一.背景 进行Android项目开发时,跟网络代理基本上天天都在打交道.通常情况下,至少有三个场景中经常用到网络代理: 1,经常通过Chrome访问Google等国外的技术网站,如通过SS工具等: 2 ...
- centos 桥接配置 设置网络代理 lnmp搭建
一.桥接配置 centos设置 编辑->虚拟网络编辑器->桥接模式->还原默认设置 虚拟机->设置->网络适配器->桥接 cd /etc/sysconfig/ne ...
- Docker的三种网络代理配置
开源Linux 长按二维码加关注~ 上一篇:IPv6技术白皮书(附PDF下载) 有时因为网络原因,比如公司NAT,或其它啥的,需要使用代理.Docker的代理配置,略显复杂,因为有三种场景.但基本原理 ...
- windows:nginx配置http、https反向代理
一.下载 Windows 版本的 nginx nnginx下载:http://nginx.org/en/download.html 推荐稳定版本.下载完成后,解压得到 nginx-1.14.0 ,我把 ...
- Docker网络代理设置
背景 在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理.我们通常会将网络代理直接配置在/etc/environment./etc/profile之类的配置文件中,这对于大部分操作都是可 ...
- Nginx设置Https反向代理,指向Docker Gitlab11.3.9 Https服务
目录 目录 1.GitLab11.3.9的安装 2.域名在阿里云托管,申请免费的1年证书 3.Gitlab 的 https 配置 4.Nginx 配置 https,反向代理指向 Gitlab 配置 目 ...
- 手头没证书,如何给https做代理?Nginx TCP转发
线上的一个海外充值接口(https)经常因我朝网络问题中断,想借助hk的机器做个https反向代理又没证书. 一开始 一开始想到的办法是借助Nginx的tcp转发进行代理: 编译NGINX时加入 -- ...
随机推荐
- 系统 内核启动期间使用ftrace
启动阶段使能event trace 同上,配置commandline: trace_event=sched:*,timer:*,irq:* trace_buf_size=40M 有上面的实例可以知道, ...
- iOS关于七牛云项目分发遇到的问题小结
在新公司做iOS开发,目前主要是用企业开发证书通过七牛云分发的形式实现app下载.在工作过程中遇到了几个相关的问题,在这里整理一下. 1.分发的ipa包在七牛云无法正常分发安装的问题 解决方案:在七牛 ...
- C#的排序方法 OrderBy
using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.R ...
- MongoDB安装及配置Navicat MongoDB Tools
一.下载MongoDB 1.下载网址:https://www.mongodb.com/try/download/community 注:本文档以Windows和msi安装为例 二.安装MongoDB ...
- KubeKey v3.1 发布:快速自定义离线安装包
日前,KubeKey v3.1 正式发布.该版本主要对离线场景部署.离线包制作以及向 Kubernetes v1.24+ 升级进行了优化. KubeKey 简介 KubeKey 是 KubeSpher ...
- 使用 KubeSphere 部署高可用 RocketMQ 集群
作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架构下的消息中间件 ...
- 使用wxpython开发跨平台桌面应用,实现程序托盘图标和界面最小化及恢复处理
在前面随笔<基于wxpython的跨平台桌面应用系统开发>介绍了一些关于wxpython开发跨平台桌面应用的总体效果,开发桌面应用,会有很多界面细节需要逐一处理,本篇随笔继续深入该主题,对 ...
- 5.1 Vim及其安装
通过前面的学习我们知道,Linux 系统中"一切皆文件",因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器. 作为一名 Linux 初学者,你必须熟练掌握 Linux ...
- 研发LLM模型,如何用数值表示人类自然语言?
上一篇:<人工智能--自然语言处理简介> 序言:人工智能大语言模型(LLM)如何理解人类的自然语言?这个过程的核心在于将文本转化为计算机能处理的数值形式,经过计算,最终达到对语言的理解.起 ...
- 题解:CF1301B Motarack's Birthday
CF1301D Time to Run 题解 思维题. 分析 把一个格子视作一个点,每个点的度数都是偶数,所以这是一张欧拉图.而需要走遍整个方格图,可以证明只要 \(k\) 不超过 \(4nm-2n- ...