代码随想录学习——项目学习——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

相关推荐
坚持不懈的大白5 分钟前
leetcode学习笔记2
笔记·学习·leetcode
智慧化智能化数字化方案10 分钟前
向华为学习——解读华为云安全白皮书 2025【附全文阅读】
学习·安全·华为云·华为云安全白皮书
和风化雨10 分钟前
特勒根定理的证明
学习
星火开发设计3 小时前
枚举类 enum class:强类型枚举的优势
linux·开发语言·c++·学习·算法·知识
程序员清洒8 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
喜欢吃燃面8 小时前
Linux:环境变量
linux·开发语言·学习
代码游侠8 小时前
ARM开发——阶段问题综述(二)
运维·arm开发·笔记·单片机·嵌入式硬件·学习
云边散步12 小时前
godot2D游戏教程系列二(4)
笔记·学习·游戏开发
jrlong12 小时前
DataWhale大模型基础与量化微调task4学习笔记(第 2 章:高级微调技术_RLHF 技术详解)
笔记·学习
Darkershadow13 小时前
蓝牙学习之Time Set
python·学习·蓝牙·ble·mesh