Docker 设置网络代理

这篇具有很好参考价值的文章主要介绍了Docker 设置网络代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

C: 今天笔者在公司的一台内网服务器上,打算用 docker-compose 拉起一套开发环境。结果刚回车完命令就报错了。

docker-compose up -d

Docker 设置网络代理

Error response from daemon: Get "https://registry-1.docker.io/v2/": x509: certificate signed by unknown authority

然后笔者又试了试 docker pulldocker search 这些命令,也都报这个错误。

原因分析

从报错提示上来看的话,笔者有两个怀疑的可能性:

  1. SSL 证书的问题
  2. 网络问题

第 1 个怀疑主要是因为后面的提示部分:certificate signed by unknown authority,而且简单去搜了一下,确实有一些解决方案是冲着这个点解决的。

第 2 个怀疑主要是因为前面的提示部分:Error response from daemon,前文已经提过了,这是一台内网机器,内网机器这个身份基本可以表明它本身是没有网络的,能上网也是因为设置了网络代理的原因。而且,笔者之前也记录过一个问题,那个问题产生的原因就是系统服务不会识别 /etc/profile 中设置的环境变量,docker 也是一种系统服务,所以这让笔者更倾向于是这种可能。

解决方案

既然有过类似的经验,那肯定就按之前的经验先操作一下试试。

笔者说
摊牌吧,两种可能,笔者都搜了。但笔者太懒了,看了看第 1 种可能的解决方案步骤,实在懒得去操作试试。所以又去简单搜了一下 Docker 网络代理的设置,意外发现它的解决方案和笔者刚才提到记录过的问题解决方案一样,这也让笔者确定了问题的原因。

首先,停止 docker 服务。

systemctl stop docker

然后,创建 docker 服务目录,并创建 HTTP 代理配置文件。

mkdir -p /etc/systemd/system/docker.service.d

vi /etc/systemd/system/docker.service.d/http-proxy.conf

将下方配置贴到 HTTP 代理配置文件中,是的没错,就是添加了两个环境变量,这两个环境变量在 /etc/profile 中也设置过,详情见之前笔者记录过的一篇设置网络代理的文章。

[Service]
Environment="HTTP_PROXY=http://用户名:密码@你的代理服务器地址:你的代理服务器端口号"
Environment="HTTPS_PROXY=http://用户名:密码@你的代理服务器地址:你的代理服务器端口号"

最后,重新加载服务配置,重启服务。

systemctl daemon-reload
systemctl restart docker

OK,再执行 docker 命令就没问题了。

参考资料

  1. Control Docker with systemd#Custom Docker daemon options 之 HTTP/HTTPS proxy:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

笔者说
这里提一下,官方文档真的很香。文章来源地址https://www.toymoban.com/news/detail-502106.html

到了这里,关于Docker 设置网络代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何为所有docker容器设置代理?

    方法一 要为所有 Docker 容器设置代理,可以按照以下步骤进行: 在您的 Docker 主机上设置代理服务器,首先创建一个systemd插入(drop-in)目录, sudo mkdir -p /etc/systemd/system/docker.service.d ,然后在 /etc/systemd/system/docker.service.d/http-proxy.conf 文件中添加以下内容来配置代理: 将 your

    2024年02月05日
    浏览(74)
  • Docker设置http proxy代理

    需求: 由于公司服务器无法正常访问公网,想要下载一些外部依赖包需要配置公司的内部代理。 Docker构建镜像或拉取镜像时需要通过代理访问外网,可以按照以下步骤设置HTTP代理 目录 创建目录 创建并编辑配置文件 重新加载Docker服务配置 重启Docker服务 检验是否加载配置

    2024年02月12日
    浏览(47)
  • docker pull 设置代理 centos

    On CentOS the configuration file for Docker is at: /etc/sysconfig/docker 用 root 权限打开 text editor sudo gedit 注意 加引号 Adding the below line helped me to get the Docker daemon working behind a proxy server: HTTP_PROXY=“http://proxy_host:proxy_port” HTTPS_PROXY=“http://proxy_host:proxy_port” 保存配置后,重启 docker sudo service

    2024年02月13日
    浏览(37)
  • Docker镜像下载加速及设置代理

    在使用docker pull拉镜像默认从docker hub里拉取,从国内访问这个网站速度可能会很慢。可以通过配置加速器解决。 登录阿里云控制台-搜索容器镜像服务-镜像工具-镜像加速器,即可看到加速器地址 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 登录华为云-搜索容器镜像

    2024年02月11日
    浏览(47)
  • docker如何设置http proxy代理

    如果您使用Docker构建镜像或拉取镜像时需要使用代理,可以按照以下步骤设置HTTP代理: 创建或编辑Docker服务配置文件 如果您使用systemd管理Docker服务,可以编辑该服务的配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf 。如果文件不存在,可以创建该文件。或者是 docker.ser

    2024年02月11日
    浏览(55)
  • Linux设置网络代理

    # export http_proxy=http://ip:port # export https_proxy=http://ip:port # vi /etc/profile # export http_proxy=http://ip:port # export https_proxy=http://ip:port # source /etc/profile # unset http_proxy # unset https_proxy 环境变量 介绍 取值 http_proxy http协议的网络连接使用该代理。 ip:port http://ip:port socks://ip:port socks4://ip:port s

    2024年01月18日
    浏览(38)
  • 设置Ubuntu网络代理

    在 /home/xxx 新建文件set_proxy.sh,添加如下代码: 在.bashrc文件中增加两行:

    2024年02月05日
    浏览(48)
  • docker国内镜像源配置及走代理设置

    同步发布在个人笔记docker国内镜像源配置及走代理设置 使用docker拉取镜像的时候,有时候会卡在中途死活下载不完。一般这种情况就是因为docker默认的镜像源是Dockerhub,而这个网站在域外。所以和Ubuntu换国内源一样,我们也可以对docker换国内镜像源。 docker的镜像源文件配置

    2024年04月26日
    浏览(34)
  • docker设置代理解决内网pull外网镜像

    目录 Docker 配置代理的缘由 通过dockerd配置实现代理 通过container配置实现代理 参考文献         如何在内网环境内环境内Pull外网registry,或者反过来想要Pull公司Registry镜像?存在上述需求的朋友可以尝试以下方法进行docker代理配置。其中 配置dockerd代理的方式遇到了些坑,

    2024年01月24日
    浏览(47)
  • centos 7 安装 docker-compose curl 设置代理

    sudo curl -x “http://192.168.1.2:3128” 需要验证的代理 sudo curl -x “http://username:password@192.168.1.2:3128” 1.下载 sudo curl -L \\\"https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)\\\" -o /usr/local/bin/docker-compose 2.添加执行权限 sudo chmod +x /usr/local/bin/docker-compose 3.确认是否安

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包