3

前言

最近闲着没事,去阿里云白嫖了一台ECS服务器,大学生教育优惠免费3个月就很良心,
之后就一顿操作,必不可少的就是需要下载docker,用docker拉取镜像

image.png

结果发现一直镜像拉取不下来。

解决方法

docker换国内镜像源

docker拉取镜像原理

image.png

更换docker的国内镜像源,可以加快镜像的下载。

sudo nano /etc/docker/daemon.json

增加国内镜像

{
    "registry-mirrors": [
       "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
    ]
}

更多镜像加速地址

https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

自 2024-06-06 开始,国内的 Docker Hub 镜像加速器相继停止服务,可选择为 Docker daemon 配置代理。

重新启动docker

systemctl restart docker

尝试重新拉取镜像

docker pull nginx

image.png

到这里发现就可以就拉取镜像了

Frp内网穿透配置

不出意外的话又出意外,拉取jdk的镜像的时候,又超时了

docker pull chenyingzhou/jdk17-mvn-git:latest

image.png

阿里云服务器配置代理

配置内网穿透

使用 frp (Fast Reverse Proxy) 将你的本地端口 7890 穿透到服务器的 7890 端口,之后当服务器走7890代理的时候,是走的你本机的网络。
image.png

在开始之前我们需要开放阿里云ECS服务器7000和7890端口

image.png

配置 frp 服务端

下载 FRP 服务端到服务器:
wget https://github.com/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz

解压下载的文件:
tar -xzf frp_0.42.0_linux_amd64.tar.gz
cd frp_0.42.0_linux_amd64

配置 frps.ini 文件:

[common]
bind_port = 7000

启动 FRP 服务端:

./frps -c ./frps.ini

配置 frp 客户端

下载 FRP 服务端到本机:
wget https://github.com/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz

解压下载的文件:
tar -xzf frp_0.42.0_linux_amd64.tar.gz
cd frp_0.42.0_linux_amd64

配置 frpc.ini 文件:

[common]
server_addr = id地址
server_port = 7000

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 7890
remote_port = 7890

启动 FRP 客户端:

./frpc -c ./frpc.ini

如果没有报错,证明服务器跟本机已经连接上了

image.png

配置docker代理

在执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf

在这个http-proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890/"
Environment="HTTPS_PROXY=http://127.0.0.1:7890/"
Environment="NO_PROXY=localhost,127.0.0.1"

重启生效

dockerd 代理的修改比较特殊,改 systemd 的配置,因此需要重载 systemd 并重启 dockerd 才能生效。

sudo systemctl daemon-reload
sudo systemctl restart docker

docker设置代理官网地址

https://docs.docker.com/config/daemon/proxy/

重新拉取镜像测试

image.png

到这里问题就解决了


kexb
519 声望16 粉丝