Docker Hub 镜像加速

71

国内拉取镜像有时会遇到困难,对于学习或者开发者来说很难受,此时可以配置镜像加速。

安装Docker

官方安装脚本:

curl -fsSL https://get.docker.com | sh

会以插件的形式自动安装docker compose 输入docker compose version查看版本

国内安装脚本 (脚本来源)

bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/docker.sh)

或者使用清华大学源

bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/install.sh) --mirror Tuna

手动离线安装Docker

下载 Docker:

官方文件下载地址——下载后上传到root目录

清华大学下载地址

tar xzvf docker-26.1.3.tgz     # 替换版本号
sudo mv docker/* /usr/local/bin/

创建 Docker 服务文件

sudo vim /etc/systemd/system/docker.service

添加以下内容

[Unit]
Description=Docker Application Container Engine
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=2
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

启动并启用 Docker 服务

sudo chmod +x /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

查看版本

docker -v

手动离线安装Docker-compose

国内环境手动安装Docker-compose

点这里手动下载文件 上传到服务器的/usr/local/bin目录

重命名为docker-compose

sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose

增加执行权限

chmod +x /usr/local/bin/docker-compose

验证安装

docker-compose --version

注意:

由于是以二进制文件安装的docker-compose,所以运行命令有所变化,运行示例

docker-compose up -d

区别在于中间的-,官方安装脚本是以插件形式安装的docker-compose,所以中间不需要-

配置加速地址

Ubuntu 16.04+、Debian 8+、CentOS 7+

创建或修改 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://hub.rat.dev",
        "https://docker.1panel.live"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

提示:如果不方便重启Docker服务,也可以不用设置全局加速地址,拉取镜像时增加加速地址即可,示例:

docker pull docker.1panel.live/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。

Docker Desktop 配置

对于电脑的Docker Desktop用户,点击右上角设置,找到Docker Engine然后修改配置,修改后的示例:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://hub.rat.dev",
    "https://docker.1panel.live"
  ]
}

然后点击右下角的Apply & restart保存并重启即可。

检查加速是否生效

查看docker系统信息 docker info,如果从结果中看到了你配置的加速地址,说明配置成功。

Registry Mirrors:
 [...]
 https://docker.1panel.live

使用代理拉取镜像

  • 注意:使用了加速源就别使用这个方法了

创建配置文件

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

在文件中添加代理

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:1080"
Environment="HTTPS_PROXY=http://127.0.0.1:1080"

重启Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

查看环境变量

sudo systemctl show --property=Environment docker

备用方法:直接传送镜像

国外服务器拉取镜像后打包压缩到本地,然后传输到国内服务器,mysql为例

A服务器压缩保存Docker镜像

docker save mysql > mysql.tar

传送到B服务器

scp mysql.tar root@192.168.12.23:/home

然后输入B服务器root密码

B服务器加载Docker镜像

cd /home
docker load < mysql.tar

查看镜像

docker images

Docker Hub 镜像测速

拉取镜像时,可使用 time 统计所花费的总时间。测速前记得移除本地的镜像。

例如:time docker pull node:latest

为Docker启用IPV6

创建或修改/etc/docker/daemon.json文件

增加如下配置:

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}

重启:sudo systemctl restart docker

卸载Docker

sudo systemctl stop docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /etc/docker /var/lib/docker

Docker最新稳定加速源列表

企业自建的镜像加速,一般很稳定不会被和谐

提供者

镜像加速地址

说明

加速类型

耗子面板

https://hub.rat.dev

无限制

Docker Hub

1panel

https://docker.1panel.live

无限制

Docker Hub

1panel

https://proxy.1panel.live

无限制

Docker Hub

毫秒镜像

https://docker.1ms.run

国内CDN & 有黑名单

Docker Hub

DaoCloud

https://docker.m.daocloud.io

白名单和限流

Docker Hub

华为云

https://***.mirror.swr.myhuaweicloud.com

需登录分配

Docker Hub

南京大学

https://ghcr.nju.edu.cn

国内CDN & ghcr加速

ghcr,k8s等等


Docker常用命令:

功能

命令

说明

编译镜像

docker build -t 镜像名 .

docker login登录docker hub

推送镜像

docker push 用户名/镜像名

需先标记镜像 docker tag 65321f273e 用户名/镜像名

查看容器

docker ps

-a查看包括已停止的容器

容器资源占用

docker stats

查看所有容器资源占用

容器详细信息

docker inspect

挂载看Mounts网络看Networks

进入容器内部

docker exec -it 容器名 /bin/sh

结尾使用/bash也行

创建容器网络

docker network create my-network

my-network为网络名称

容器加入网络

docker network connect my-network 容器名

替换容器名或ID

查看网络

docker network inspect my-network

查看my-network网络中的容器

停止容器

docker stop

docker stop 容器名或ID

启动容器

docker start

docker start 容器名或ID

重启容器

docker restart

docker restart 容器名或ID

删除容器

docker rm

docker rm 容器名或ID

查看镜像

docker images

docker images 镜像名或ID

删除镜像

docker rmi -f

docker rmi -f 镜像名或ID

清除资源

docker system prune

清除所有未使用资源容器 网络 镜像 缓存

删除所有镜像

docker rmi -f $(docker images -aq)

删除所有镜像

删除所有容器

docker container prune -f

删除所有已停止容器

停止所有容器

docker stop $(docker ps -aq)

停止所有容器

停止docker-compose的服务

docker compose down

停止并删除所有运行的容器、网络和相关的资源


vim编辑器

安装:apt updateapt install curl wget git zip vim -y或者apk add vim

常用命令:

功能

命令

说明

退出并保存

:wq

命令模式中执行

只退出不保存

:q!

命令模式中执行

清空所有内容

:%d

命令模式中执行

粘贴时保持代码格式

:set paste

执行后按i进入编辑模式

进入编辑模式

i

命令模式中执行

退出编辑模式

esc

编辑模式中执行

更改编码适配中文

:set encoding=utf-8

执行后按i进入编辑模式


nano编辑器

功能

快捷键

说明

移动光标

行首

Ctrl + A

移动到行首

行尾

Ctrl + E

移动到行尾

指定行列

Ctrl + _

移动到指定行和列

文件操作

保存文件

Ctrl + O

保存文件,按 Enter 确认

退出 nano

Ctrl + X

退出编辑器,y为保存,n为不保存

另存为

Ctrl + O

输入新文件名保存

编辑操作

剪切当前行

Ctrl + K

剪切当前行

快速选中

Ctrl + Shift + ↓

按一次为一行,按住不动快速多行

删除当前行

Ctrl + K

删除当前行

撤销操作

Ctrl + _

撤销上一步操作

重做操作

Ctrl + E

重做上一步操作

搜索与替换

搜索

Ctrl + W

搜索指定文本

反向搜索

Ctrl + W + Ctrl + R

进行反向搜索

搜索并替换

Ctrl + \

搜索并替换文本

行操作

显示行号

Ctrl + C

显示当前光标位置