/Docker-Hub

Docker Hub镜像加速or项目收集

Docker Hub 镜像加速

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

自建Docker镜像加速教程:点我跳转。 支持多种仓库

安装Docker(如果安装困难可以选择手动安装)

官方安装脚本:

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

国内阿里云镜像

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
手动安装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
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

启动并启用 Docker 服务

sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

查看版本

docker -v
安装Docker Compose

下载 Docker Compose:

运行以下命令来下载 Docker Compose:

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加可执行权限:

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

验证安装:

docker-compose --version

(可选)国内环境可手动下载文件上传到/usr/local/bin目录,并重命名为docker-compose,然后增加执行权限。


Docker常用命令:

功能 命令 说明
编译镜像 docker build -t 镜像名 . docker login登录docker hub
推送镜像 docker push 用户名/镜像名 需先标记镜像 docker 本地镜像名 用户名/镜像名
查看容器 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) 停止所有容器

官方仓库

官方文档


vim编辑器

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

常用命令:

功能 命令 说明
退出并保存 :wq 命令模式中执行
只退出不保存 :q! 命令模式中执行
清空所有内容 :%d 命令模式中执行
粘贴时保持代码格式 :set paste 执行后按i进入编辑模式
进入编辑模式 i 命令模式中执行
退出编辑模式 esc 编辑模式中执行
更改编码适配中文 :set encoding=utf-8 执行后按i进入编辑模式

配置加速地址

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://do.nark.eu.org"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果您当前有正在运行的容器不方便重启Docker服务,则不用设置环境也可以直接使用,用法示例:

docker pull do.nark.eu.org/library/mysql:5.7

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

检查加速是否生效

查看docker系统信息 docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:
 [...]
 https://do.nark.eu.org

对于 Mac 和 Windows 用户,直接在 Docker Desktop 系统设置中,配置 registry-mirrors 即可。


使用代理拉取镜像

创建配置文件

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

在文件中添加代理

[Service]
Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080"
Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"

重启Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

查看环境变量

sudo systemctl show --property=Environment docker

备用方法:直接传送镜像

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

A服务器保存Docker镜像

docker save myimage > myimage.tar

传送到B服务器

scp myimage.tar root@192.0.2.0:/home

然后输入B服务器root密码

B服务器加载Docker镜像

cd /home
docker load < myimage.tar

查看镜像

docker images

Docker Hub 镜像测速

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

例如:time docker pull node:latest

卸载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 Hub 镜像加速列表

以下镜像站来源于互联网(感谢热心网友),可能出现宕机、转内网、关停等情况,建议同时配置多个镜像源。

目前可用镜像加速

镜像 镜像加速地址 说明 其它加速
网友自建 https://do.nark.eu.org Docker Hub
网友自建 https://hub.uuuadc.top Docker Hub
阿里云 https://<your_code>.mirror.aliyuncs.com 需登录分配 Docker Hub 未同步最新源镜像

参考链接