代码随想录学习——项目学习——HTTP服务框架——环境配置问题

从零开始配置环境--采用docker配置环境

在使用docker配置环境中会出现一系列问题:

最不好解决的是在拉取远程镜像下载时出现的问题:

复制代码
# 将我提供的远程镜像拉取到本地
docker pull huanheart/httpserver:v1

如果在这个过程中出现 Error response from daemon: Get "https://registry-1.docker.io/v2/'":context deadline exceeded 等类似问题,

那么可能是因为没有设置代理导致的(因为目前国内的docker不可以使用了,必须挂梯子下载或者采用国内的镜像源)

可以设置国内镜像源代理或者说用梯子开启局域网服务,并在虚拟机上进行绑定。

1.设置国内镜像源代理

这个比较简单,配置可以用的Docker镜像加速器就可以了:

打开配置文件:

cpp 复制代码
sudo nano /etc/docker/daemon.json

配置镜像加速器:

复制代码
{
  "registry-mirrors":[
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.m.ixdev.cn"
  ] 
}

这个是我这里用的镜像加速器,仅供参考。不能用去网上找可以用的。

2.用梯子开开启局域网服务,并配置虚拟机接口

(1)推荐的方法:修改 daemon.json 配置文件

首先,找到你的 daemon.json 配置文件,比较坑的是,不同的 docker 安装方式这个文件的位置不同。

然后,添加以下内容,把你自己本地的代理地址写进去:

复制代码
{
  "proxies" : {
    "http-proxy" : "http://127.0.0.1:7890",
    "no-proxy" : "localhost,127.0.0.0/8",
    "https-proxy" : "http://127.0.0.1:7890"
  }
}

然后重启一下 docker 服务,使其生效。若要检查生效情况,可以执行:

复制代码
$ docker info
...
HTTP Proxy: http://127.0.0.1:7890
HTTPS Proxy: http://127.0.0.1:7890
No Proxy: localhost,127.0.0.1
...

如果出现以上几行的话,说明代理配置成功,这时候可以尝试 docker pull 看看是否正常。

(2)适用于 Linux 部署,修改 systemd 自启动配置

一般情况下,用上面的方法就可以了。不过官方文档里,另外还提出了一种方案,适合 linux 环境下直接在 systemd 中配置代理。简单介绍一下。

新增 systemd 配置文件/etc/systemd/sysytem/docker.service.d/http_proxy.conf

复制代码
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

加入以下内容:地址和端口去网上搜怎么整

复制代码
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=https://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

然后:

  1. 重新加载systemd配置:

    sudo systemctl daemon-reload

  2. 重启docker服务:

    sudo systemctl restart docker

  3. 检查代理是否生效:

    sudo systemctl show docker --property Environment

更详细的介绍,请见Daemon proxy configuration | Docker Docs

相关推荐
r_oo_ki_e_5 小时前
Java Map 集合学习笔记
java·笔记·学习
笨鸟先飞的橘猫6 小时前
skynet——sharetable学习
学习·skynet
liuyicenysabel7 小时前
大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
人工智能·笔记·学习
Funing79 小时前
FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解
数据结构·学习·链表
心中有国也有家10 小时前
使用 DevEco Studio 配置 Flutter 鸿蒙签名
学习·flutter·华为·harmonyos
灯澜忆梦10 小时前
MySQL 完整学习路线
学习·mysql
森林古猿111 小时前
再论斜率优化
c++·学习·算法
心中有国也有家11 小时前
鸿蒙Flutter开发环境从零搭建教程(Windows/macOS双平台·避坑版)
学习·flutter·华为·harmonyos
渣渣灰飞12 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第三节:ORDER BY + LIMIT(排序 + 分页)
数据库·学习·mysql
十月的皮皮13 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习