CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像
场景,如下图所示:
服务器B具有两个网卡,分别和服务器A和服务器C互通,这里想要在服务器C上借助服务器B作为桥梁,拉取镜像仓库服务器A上的镜像。
思路也很简单,在服务器上搭建HTTP代理服务,服务器C配置代理,通过代理拉取镜像。
注意,下文出现的IP和上图一一对应。
具体操作如下:
服务器A:
已经搭建好镜像仓库不再赘述。
服务器B:
1、安装squid,squid可以用来代理请求,安装命令:
yum install -y squid
2、编辑squid的配置文件,命令:
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak vi /etc/squid/squid.conf
内容全部干掉,改为以下内容:
http_port 3128
http_access allow all
第一个就是指定代理服务的端口,第二个就是允许所有请求,具体配置项介绍参考 传送门
如果要使用https请把端口改为443,并配置证书信息,写法如下:
https_port cert=/zs/Nginx/xxx.crt key=/zs/Nginx/xxx.key
3、启动,命令如下:
systemctl start squid
如果有防火墙记得关闭防火墙或者打开3128端口
服务器C
1、给Docker添加http代理,注意,不是给操作系统添加http代理,两者的操作方式是不一样的。添加方式如下:
命令:
mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
填写内容如下:
[Service]
Environment=HTTP_PROXY=2.2.2.1:
如此服务器B的代理地址就被填写进了配置文件。
2、让配置文件内容生效,命令如下
systemctl daemon-reload
systemctl restart docker
3、尝试拉取服务器A上的镜像仓库里的镜像:
假如服务器A上的镜像仓库跑在5000端口上,且有个镜像:1.1.1.1:5000/hello-world:latest
那么此时直接在服务器上执行以下命令,就能拉取到该镜像:
docker pull 1.1.1.1:/hello-world
参考地址:
http://www.squid-cache.org/Doc/config/
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
(完毕)
CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像的更多相关文章
- Centos7下卸载docker
最近发现某台机器上的Docker服务无法开启,报如下错误: [root@localhost ~]# docker ps -a Cannot connect to the Docker daemon. ...
- centos7下安装docker 以及简单使用
一 环境准备1.虚拟机or物理机 2.centos7系统(稳定,对docker支持友好) 二 安装过程step1:使用yum命令进行安装 yum install -y docker备注:-y 表示不询 ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- centos7下安装docker(19容器架构)
What,Why,How What:什么是容器? 说起容器大家想到的是什么? 集装箱(container),虚拟机,docker,k8s 1. 没毛病,因为容器与集装箱的英文都可以翻译成co ...
- CentOS7下安装docker(Docker系列1)
CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...
- centos7下安装docker与镜像加速
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
- Docker学习笔记之从镜像仓库获得镜像
0x00 概述 之前我们说到了,Docker 与其他虚拟化软件的一处不同就是将镜像管理纳入到了功能之中.实现虚拟化只是程序能够无缝移植的一部分,而有了镜像管理,就真正取代了我们在移植过程中的繁琐操作. ...
- centos7下安装docker(7docker base command 命令词典)
上一章中我总结了学习docker 镜像时所用过的命令,今天先来将docker base command 记录一下,参考:https://docs.docker.com/edge/engine/refe ...
- centos7下更改docker镜像和容器的默认路径
笔者近期在服务器上搭建docker环境,可由于笔者是普通用户,在安装的时候就跳了很多坑,现在记录一下. 一.docker权限问题 据官方解释,搭建docker环境必须使用root权限,或者sudo装, ...
随机推荐
- 调用write方法打印语句到浏览器
1.document.write("我爱学习--喜欢学习"); // 在浏览器中输出的结果为:我爱学习--喜欢学习 2.首先,声明一个变量. var str="h ...
- 2018-2019-2 20165333 《网络对抗技术》 Exp5:MSF基础应用
2018-2019-2 20165333 <网络对抗技术> Exp5:MSF基础应用 实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路 ...
- 快速定位 Android APP 当前页面的三种方法(Activity / Fragment)
方法一.通过adb命令打印当前页面: Android 如何快速定位当前页面是哪个Activity or Fragment (1)查看当前Activity :adb shell "dumpsy ...
- [转] react-router4 实现按需加载
按需加载的背景 https://juejin.im/post/58f9717e44d9040069d06cd6?utm_source=tuicool&utm_medium=referral R ...
- 解决asp.net 报错 无法获取所需的权限错误
asp.net 报错 无法获取所需的权限 无法获取所需的权限.说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 无法获取所 ...
- 6-7 树的层次遍历 uva122
非常不熟练 照着书大的 晚上尝试一下自己打 了解二叉树 用数组打 第一次: #include<bits/stdc++.h> using namespace std; bool fai ...
- Ubuntu 之 atom 安装以及 常用配置
安装方式如下: 打开终端,使用以下命令安装: sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get ...
- 《Android进阶之光》--RxJava结合Retrofit访问网络
1)配置 dependencies{ ... compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2.1' co ...
- Python开发之序列化与反序列化:pickle、json模块使用详解
1 引言 在日常开发中,所有的对象都是存储在内存当中,尤其是像python这样的坚持一切接对象的高级程序设计语言,一旦关机,在写在内存中的数据都将不复存在.另一方面,存储在内存够中的对象由于编程语言. ...
- [洛谷P3014][USACO11FEB]牛线Cow Line (康托展开)(数论)
如果在阅读本文之前对于康托展开没有了解的同学请戳一下这里: 简陋的博客 百度百科 题目描述 N(1<=N<=20)头牛,编号为1...N,正在与FJ玩一个疯狂的游戏.奶牛会排成一行 ...