
Docker Hub 镜像加速
国内拉取镜像有时会遇到困难,对于学习或者开发者来说很难受,此时可以配置镜像加速。
安装Docker
官方安装脚本:
<span class="line">curl -fsSL https://get.docker.com | sh</span>
国内一键安装脚本
<span class="line">bash <(curl -sSL https://emohe.cn/docker.sh)</span>
手动离线安装Docker
下载 Docker:
<span class="line">tar xzvf docker-26.1.3.tgz # 替换版本号</span>
<span class="line">sudo mv docker/* /usr/local/bin/</span>
创建 Docker 服务文件
<span class="line">sudo vim /etc/systemd/system/docker.service</span>
添加以下内容
<span class="line">[Unit]</span>
<span class="line">Description=Docker Application Container Engine</span>
<span class="line">After=network-online.target firewalld.service</span>
<span class="line">Wants=network-online.target</span>
<span class="line">[Service]</span>
<span class="line">Type=notify</span>
<span class="line">ExecStart=/usr/local/bin/dockerd</span>
<span class="line">ExecReload=/bin/kill -s HUP $MAINPID</span>
<span class="line">Restart=always</span>
<span class="line">RestartSec=2</span>
<span class="line">StartLimitBurst=3</span>
<span class="line">StartLimitInterval=60s</span>
<span class="line">LimitNOFILE=infinity</span>
<span class="line">LimitNPROC=infinity</span>
<span class="line">LimitCORE=infinity</span>
<span class="line">Delegate=yes</span>
<span class="line">KillMode=process</span>
<span class="line">[Install]</span>
<span class="line">WantedBy=multi-user.target</span>
启动并启用 Docker 服务
<span class="line">sudo chmod +x /usr/local/bin/dockerd</span>
<span class="line">sudo systemctl daemon-reload</span>
<span class="line">sudo systemctl start docker</span>
<span class="line">sudo systemctl enable docker</span>
查看版本
<span class="line">docker -v</span>
手动离线安装Docker-compose
国内环境手动安装Docker-compose
点这里手动下载文件 上传到服务器的/usr/local/bin目录
重命名为docker-compose
<span class="line">sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose</span>
增加执行权限
<span class="line">chmod +x /usr/local/bin/docker-compose</span>
验证安装
<span class="line">docker-compose --version</span>
注意: 由于是以二进制文件安装的docker-compose,所以运行命令有所变化,运行示例
<span class="line">docker-compose up -d</span>
区别在于中间的-,官方安装脚本是以插件形式安装的docker-compose,所以中间不需要-
配置加速地址
Ubuntu 16.04+、Debian 8+、CentOS 7+
创建或修改 /etc/docker/daemon.json:
<span class="line">sudo mkdir -p /etc/docker</span>
<span class="line">sudo tee /etc/docker/daemon.json <<EOF</span>
<span class="line">{</span>
<span class="line"> "registry-mirrors": [</span>
<span class="line"> "https://docker.m.ixdev.cn",</span>
<span class="line"> "https://docker.1ms.run"</span>
<span class="line"> ]</span>
<span class="line">}</span>
<span class="line">EOF</span>
<span class="line">sudo systemctl daemon-reload</span>
<span class="line">sudo systemctl restart docker</span>
提示:如果不方便重启Docker服务,也可以不用设置全局加速地址,拉取镜像时增加加速地址即可,示例:
<span class="line">docker pull docker.1panel.live/library/mysql:5.7</span>
说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。
Docker Desktop 配置
对于Windows系统的Docker Desktop用户,点击右上角设置,找到Docker Engine然后修改配置,修改后的示例:
<span class="line">{</span>
<span class="line"> "builder": {</span>
<span class="line"> "gc": {</span>
<span class="line"> "defaultKeepStorage": "20GB",</span>
<span class="line"> "enabled": true</span>
<span class="line"> }</span>
<span class="line"> },</span>
<span class="line"> "experimental": false,</span>
<span class="line"> "registry-mirrors": [</span>
<span class="line"> "https://docker.1ms.run",</span>
<span class="line"> "https://docker.1panel.live"</span>
<span class="line"> ]</span>
<span class="line">}</span>
然后点击右下角的Apply & restart保存并重启即可。
检查加速是否生效
查看docker系统信息 docker info,如果从结果中看到了你配置的加速地址,说明配置成功。
<span class="line">Registry Mirrors:</span>
<span class="line"> [...]</span>
<span class="line"> https://docker.1ms.run</span>
<span class="line"> https://docker.1panel.live</span>
使用代理拉取镜像
- 注意:使用了加速源就别使用这个方法了
- 此方法支持
login和push
创建配置文件
<span class="line">sudo mkdir -p /etc/systemd/system/docker.service.d</span>
<span class="line">sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf</span>
在文件中添加代理
<span class="line">[Service]</span>
<span class="line">Environment="HTTP_PROXY=http://127.0.0.1:1080"</span>
<span class="line">Environment="HTTPS_PROXY=http://127.0.0.1:1080"</span>
重启Docker
<span class="line">sudo systemctl daemon-reload</span>
<span class="line">sudo systemctl restart docker</span>
查看环境变量
<span class="line">sudo systemctl show --property=Environment docker</span>
本地流量转发到服务器
使用SSH反向转发把本地的10808端口的流量转发给远程服务器1080端口
<span class="line">ssh -R 1080:127.0.0.1:10808 root@服务器地址 -N</span>
-N 代表仅连接但不打开对话框
备用方法:打包镜像到本地
1:压缩保存镜像到本地
<span class="line">docker save 镜像名 > 镜像名.tar</span>
2:手动上传到另一个服务器
3:另一个服务器解压镜像
<span class="line">docker load < 镜像名.tar</span>
4:查看镜像
<span class="line">docker images</span>
Docker Hub 镜像测速
拉取镜像时,可使用 time 统计所花费的总时间。测速前记得移除本地的镜像。
例如:time docker pull node:latest
修改最大并发数加快镜像下载速度
/etc/docker/daemon.json
<span class="line">{</span>
<span class="line"> "registry-mirrors": [</span>
<span class="line"> "https://docker.m.ixdev.cn",</span>
<span class="line"> "https://docker.1ms.run"</span>
<span class="line"> ],</span>
<span class="line"> "max-concurrent-downloads": 10,</span>
<span class="line"> "max-concurrent-uploads": 10,</span>
<span class="line"> "max-download-attempts": 5,</span>
<span class="line"> "default-ulimits": {</span>
<span class="line"> "nofile": {</span>
<span class="line"> "Hard": 64000,</span>
<span class="line"> "Name": "nofile",</span>
<span class="line"> "Soft": 64000</span>
<span class="line"> }</span>
<span class="line"> }</span>
<span class="line">}</span>
<span class="line">sudo systemctl daemon-reload</span>
<span class="line">sudo systemctl restart docker</span>
为Docker启用IPV6
创建或修改/etc/docker/daemon.json文件
增加如下配置:
<span class="line">{</span>
<span class="line"> "ipv6": true,</span>
<span class="line"> "fixed-cidr-v6": "2001:db8:1::/64"</span>
<span class="line">}</span>
然后配置一下流量路由
重启:sudo systemctl restart docker
卸载Docker
<span class="line">sudo systemctl stop docker</span>
<span class="line">sudo apt-get purge docker-ce docker-ce-cli containerd.io</span>
<span class="line">sudo rm -rf /etc/docker /var/lib/docker</span>
Docker最新稳定加速源列表
企业级优质稳定加速源
| 提供者 | 镜像加速地址 | 说明 | 加速类型 |
|---|---|---|---|
| CNIX | https://docker.m.ixdev.cn |
无限制&多仓库支持 | Docker Hub |
| 1panel | https://docker.1panel.live |
无限制 | Docker Hub |
| 轩辕镜像 | https://docker.xuanyuan.me |
无限制 | 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://mirror.ccs.tencentyun.com |
仅限腾讯云机器 | Docker Hub |
| 南京大学 | https://ghcr.nju.edu.cn |
ghcr加速 | ghcr |
| 南京大学 | https://k8s.nju.edu.cn |
k8s加速 | k8s |
| CNIX | https://ghcr.m.ixdev.cn |
无限制&多仓库支持 | ghcr |
Docker常用命令:
| 功能 | 命令 | 说明 |
|---|---|---|
| 编译镜像 | docker build -t 镜像名 . |
先docker login登录docker hub |
| 推送镜像 | docker push 用户名/镜像名 |
需先标记镜像 docker tag 53321f173e 用户名/镜像名 |
| 查看容器 | docker ps |
-a查看包括已停止的容器 |
| 容器资源占用 | docker stats |
查看所有容器资源占用 |
| 容器详细信息 | docker inspect |
挂载看Mounts网络看Networks |
| 进入容器内部 | docker exec -it 容器名 sh |
结尾使用/bash也可以 |
| 创建容器网络 | docker network create my-network |
my-network为网络名称 |
| 容器加入网络 | docker network connect my-network 容器名 |
替换容器名或ID |
| 宿主机网络 | network_mode: host |
docker-compose使用 |
| 宿主机网络 | --network host |
docker run使用 |
| 查看网络 | 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 down |
停止并删除编排容器 |
| 重新创建容器 | docker compose up -d --force-recreate |
强制删除并重启编排容器 |
| 复制文件 | docker cp wordpress:/app/data.yaml /home |
从容器复制到宿主机 |
| 复制文件 | docker cp /home/data.yaml wordpress:/app |
从宿主机复制到容器 |

评论(0)