国内服务器安装 Docker 服务和拉取 dockerhub 镜像

前提: 有一台海外的VPS,目的是安装dockerhub镜像.适用debian系统

1: 安装 docker-ce (国内服务器)

bash 复制代码
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

接着

bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

最后

bash 复制代码
sudo apt-get update
sudo apt-get -y install docker-ce

权限

bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose

查看版本,验证是否安装成功

bash 复制代码
docker --version && docker-compose --version

2: 配置 dockerhub 镜像(海外服务器)

注意:这里是在另外一台海外的VPS上安装dockerhub镜像

创建文件夹

bash 复制代码
mkdir -p /root/data/docker_data/dockerhub
cd /root/data/docker_data/dockerhub

创建docker-compose.yml

bash 复制代码
vim docker-compose.yml

英文输入法下,按 i

bash 复制代码
version: "3"
services:
  dockerhub:
    image: "registry:2.8.1"
    container_name: "dockerhub"
    restart: "always"
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "./data:/var/lib/registry"
      - "./config.yml:/etc/docker/registry/config.yml"
    ports:
      - "5000:5000"

修改好之后,按一下 esc,然后 :wq 保存退出。

创建config.yml

bash 复制代码
vim config.yml

填入:

shell 复制代码
version: 0.1
storage:
  filesystem:
    rootdirectory: /var/lib/registry
  delete:
    enabled: true
  maintenance:
    uploadpurging:
      enabled: true
      age: 168h
      dryrun: false
      interval: 1m
http:
  addr: 0.0.0.0:5000
proxy:
  remoteurl: https://registry-1.docker.io

最后运行:

bash 复制代码
docker compose up -d

设置反向代理

我使用cloudflare 反代5000端口,你也可以使用nginx或者其他办法

登录cloudflare,解析域名, SSL/TLS设置为 灵活 点击左侧Origin Rules

点击放大看图

配置dockerhub 镜像(国内服务器)

注意:这里是在国内服务器配置镜像

创建文件夹

bash 复制代码
sudo mkdir -p /etc/docker

提示: your_dockerhub_mirror.com 更改为你前面配置好的域名

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://your_dockerhub_mirror.com"]
}
EOF

重启docker服务,使配置生效

bash 复制代码
sudo systemctl restart docker

测试

bash 复制代码
docker pull hello-world

原文链接: https://blog.taoshuge.eu.org/p/275/

出现以下信息就说明成功了

复制代码
root@devlab:/etc/docker# docker pull hello-world​
Using default tag: latest​
latest: Pulling from library/hello-world​
c1ec31eb5944: Pull complete​
Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd​
Status: Downloaded newer image for hello-world:latest​
docker.io/library/hello-world:latest
相关推荐
qinyia2 小时前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh
晓衣6 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
帝国辉耀16 小时前
docker、docker daemon、k8s、dockershim、containerd之间的关系
docker·容器·kubernetes
明明跟你说过6 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333918 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
JCGKS9 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
荣光波比9 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌7710 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
惜.己10 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
scugxl10 小时前
centos7 docker离线安装
运维·docker·容器