首页 > 其他分享 >Docker配置代理

Docker配置代理

时间:2023-03-04 20:36:05浏览次数:61  
标签:xxx http 1081 配置 代理 PROXY Docker docker

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源,就会很慢

image-20230304194555358

对此,我们有两种解决方法,第一种直接在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注入,这个只对本次开启的容器有效。

参考:如何优雅的给 Docker 配置网络代理

标签:xxx,http,1081,配置,代理,PROXY,Docker,docker
From: https://www.cnblogs.com/monkey6/p/17179013.html

相关文章

  • 【代理】【六】代理源码解析-Cglib代理-代理文件执行分析
    1 前言上节我们简单看了Enhancer的generateClass和 firstInstance,两个方法的内容也就是创建代理以及生成代理对象的内容,这节我们结合实际生成的文件了解一下代理......
  • SpringBoot开发实用-配置
    2.配置高级​ 进入开发实用篇第二章内容,配置高级,其实配置在基础篇讲了一部分,在运维实用篇讲了一部分,这里还要讲,讲的东西有什么区别呢?距离开发过程越来越接近,解决的问题也......
  • IDEA-docker
    前置动作:安装好docker,拉取了java镜像(java:8u111-jdk或java:latest)开发好jar形式的应用,定义好serverport,假设为8080IDEA配置(参考《丝滑的打包部署,一套带走》):新建Do......
  • docker启动创建容器时,报错Cannot link to /mysql, as it does not belong to the defa
    启动创建容器时,报错Cannotlinkto/mysql,asitdoesnotbelongtothedefaultnetwork从报错信息看是不属于默认网络分析容器网络通过dockerinspect容器id先......
  • 在Docker中配置网络并访问互联网
    Docker是一个流行的容器化平台,可以帮助用户轻松地创建、部署和运行应用程序。在使用Docker时,网络配置是一个很重要的问题。本文将介绍如何在Docker中配置网络,并访问互联网......
  • mac-docker
    安装:直接下载img安装通过brew安装:brewinstall--cask--appdir=/Applicationsdocker配置:设置国内镜像:在desktop的设置(Preferences)界面中,DockerEngine的json中......
  • ubuntu 22.04 配置 samba 服务
     通过在ubuntu系统中安装samba,使得windows10 能访问安装在vmware中的ubuntu文件。sudoaptinstallsamba#编辑samba配置文件:sudovim/etc/samba/smb......
  • Linux系统安装MySQL数据库----以及一些相关配置
    一在自己安装软件的目录新建MySQL安装的文件夹,然后将MySQL的tar包上传至服务器的该文件夹。二解压MySQL的tar包。将解压后的MySQL修改文件名为mysql-version(注:version可......
  • PostgreSQL Docker部署指南
    1.Dockercomposeversion:'3'services:postgresql:container_name:postgresqlimage:'rapidfort/postgresql'network: nginx_net: ipv......
  • java-spring 通过配置文件获取bean
    1、druid.properties#mysql连接参数jdbc.driver-class-name=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/wangdb?useUnicode=true&characterEncodi......