当前位置: 首页 > news >正文

网站建设与运营预算打开网站总显示建设中

网站建设与运营预算,打开网站总显示建设中,广州seo优化排名公司,衡水阿里巴巴网站建设Docker 网络代理配置及防火墙设置指南 背景 在某些环境中,服务器无法直接访问外网,需要通过网络代理进行连接。虽然我们通常会在 /etc/environment 或 /etc/profile 等系统配置文件中直接配置代理,但 Docker 命令无法使用这些配置。例如&am…

Docker 网络代理配置及防火墙设置指南

背景

在某些环境中,服务器无法直接访问外网,需要通过网络代理进行连接。虽然我们通常会在 /etc/environment/etc/profile 等系统配置文件中直接配置代理,但 Docker 命令无法使用这些配置。例如,在使用 docker pull 命令从外网拉取镜像时,可能会遇到如下错误:

docker pull hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
docker: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy..
See 'docker run --help'.

解决方案

防火墙设置

在进行 Docker 代理配置之前,建议先检查防火墙设置,确保相关端口已开放。以下是在 CentOS 7 上查看、防火墙状态以及启用/停用防火墙的方法:

  1. 查看防火墙状态

    systemctl status firewalld
    

    示例输出:
    在这里插入图片描述

  2. 关闭防火墙

    systemctl stop firewalld
    

    在这里插入图片描述

  3. 开启防火墙

    systemctl start firewalld
    

    在这里插入图片描述

  4. 禁用防火墙(防止开机自动启动):

    systemctl disable firewalld
    

    在这里插入图片描述

  5. 启用防火墙(设置为开机自动启动):

    systemctl enable firewalld
    

    在这里插入图片描述

  6. 检查已开放的端口

    firewall-cmd --list-ports
    

在进行 Docker 代理配置时,如果防火墙开启,确保相关代理端口(如 2375, 1230)已通过防火墙放行。

方案一:通过手动启动 Docker Daemon 设置代理

  1. 停止 Docker 服务:

    systemctl stop docker.service
    
  2. 手动启动 Docker Daemon,监听所有网络接口:

    nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &
    

更多详情可参考 Docker Daemon Socket 选项。

方案二:配置系统级代理(不推荐)

可以通过修改系统配置文件来设置代理,如 Ubuntu 的 /etc/default/docker 或 CentOS 的 /etc/sysconfig/docker 文件,但这种方法已不再推荐使用。具体配置如下:

HTTP_PROXY="http://[proxy-addr]:[proxy-port]/"
HTTPS_PROXY="https://[proxy-addr]:[proxy-port]/"
export HTTP_PROXY HTTPS_PROXY

方案三:持久化的 Docker 代理配置

这种方法将代理配置持久化,使其在 Docker 服务每次启动时生效。

  1. 创建 Docker 服务的 systemd 配置目录:

    mkdir -p /etc/systemd/system/docker.service.d
    
  2. 创建代理配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf 并添加以下内容:

    [Service]
    Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"
    
  3. 如果有不需要使用代理访问的内部 Docker 镜像仓库,可以配置 NO_PROXY 变量:

    [Service]
    Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
    
  4. 重新加载配置:

    systemctl daemon-reload
    
  5. 重启 Docker 服务:

    systemctl restart docker
    

更多细节请参考 Docker systemd 配置指南。

使用 SOCKS5 代理

要为 Docker 配置 SOCKS5 代理,可以按以下步骤操作:

  1. 编辑 Docker 服务文件 /usr/lib/systemd/system/docker.service

    [Service]
    Environment="HTTP_PROXY=socks5://127.0.0.1:1230/"
    Environment="HTTPS_PROXY=socks5://127.0.0.1:1230/"
    Environment="NO_PROXY=localhost,127.0.0.1,m1empwb1.mirror.aliyuncs.com,docker.io,registry.cn-hangzhou.aliyuncs.com"
    
  2. 重新加载服务配置并重启 Docker:

    systemctl daemon-reload
    systemctl restart docker
    
  3. 验证代理配置:

    systemctl show --property=Environment docker
    

如果输出的内容中包含 127.0.0.1:1230 这样的地址,表示配置成功。

测试

可以通过 docker pull 命令测试代理配置是否生效:

docker pull gcr.io/kubernetes-helm/tiller:v2.2.2

使用 ss -antp |grep EST |egrep '1080|1230' 命令查看连接状态,确保代理配置已生效。

http://www.yayakq.cn/news/300912/

相关文章:

  • 绵阳网站建设制作湛江企业自助建站系统
  • 超大免费网站空间龙岗网站建设方案
  • 农安建设局网站深圳小程序app定制开发
  • 酷站网站重庆网站建设川娃子
  • 沈阳建设工程质量检测中心网站网站除了做流量还需要什么软件
  • 做剧情游戏的网站做网站设计需要学什么
  • 福田网站建设价格网站首页该怎么做
  • 为什么很多中国人去菲律宾做网站深圳福永
  • 网站建设基本标准汕头资讯网
  • 网页制作与设计站点应该怎么建网站服务器租用资质
  • 班级建设网站首页网页界面设计课程
  • 企业公司做网站揭东建设局网站
  • 永兴县网站建设公司成立做网站的公司
  • 申请域名流程后怎样做网站晋中市建设局网站
  • 用vps建网站备案做网站一个月20g流量够吗
  • 网站推广页建设招标网官方网站
  • eclipse网站开发流程图胶州专业网站建设公司
  • 网站名称设置国内精自品线一区91制片
  • 郑州网站建设信息做网站 怎么推广
  • 深圳网站建设公司服务苏州建网站的公司外包服务
  • 以前自己做的网站怎么样删除网站开发公司小程序开发
  • 潮州市工程建设网站温州设计网站建设
  • 长沙网站设计多少钱一个月seo网络优化平台
  • 怎么做弹幕网站营销型网站有意义吗
  • 商城网站的建设定位昆明最新消息今天
  • 网站推广费用ihanshi网站新版
  • 郑州做品牌网站的公司建立一个网站需要什么
  • 网站业务员怎么给客户做方案网站建设是广告吗
  • 网站投稿源码中山建设安监站网站
  • 网站开发的设计与实现重庆网站免费优化