跳转至

Docker 配置代理和私有仓库

概要: 本文介绍如何在Linux和Windows平台上为docker服务配置代理和私有registry,假设私有registry地址为 http://192.168.2.211:11111

创建时间: 2022.03.23 20:14:10

更新时间: 2023.08.01 00:02:48

Linux平台

修改配置文件

编辑Docker配置文件

Bash
vim /etc/docker/daemon.json
加入Docker镜像源并允许特定的私有registry
JSON
1
2
3
4
5
6
7
8
9
{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://mirror.ccs.tencentyun.com/"
    ],
    "insecure-registries": [
        "192.168.2.211:11111"
    ]
}

重启docker服务

Bash
sudo systemctl daemon-reload
sudo systemctl restart docker
至此已修改完毕

Windows平台

提示

Windows平台的Docker为桌面GUI程序,需要在界面中进行交互,macOS桌面端与之类似

进入设置

image.png

进入Docker Engine

此处的配置文件和Linux平台的/etc/docker/daemon.json作用一致,直接将上面的内容复制进去即可

应用并重启

image.png

私有registry

登录

执行如下的命令登录即可,注意必须写前缀http://和端口号

Bash
docker login http://192.168.2.211:11111
image.png

推送镜像

首先找到目标镜像

Bash
docker images | grep plex
image.png
打tag到私有registry,注意前面必须包含私有registry的ip和端口
Bash
docker tag 40b32fe04b0f 192.168.2.211:11111/docker-mirror/lscr.io/linuxserver/plex:latest
image.png
推送镜像
Bash
docker push 192.168.2.211:11111/docker-mirror/lscr.io/linuxserver/plex:latest
image.png

拉取镜像

必须确保在目标机器上的/etc/docker/daemon.json配置相同的 insecure-registries

JSON
1
2
3
4
5
{
    "insecure-registries": [
        "192.168.2.211:11111"
    ]
}
然后执行拉取命令如下
Bash
docker pull 192.168.2.211:11111/docker-mirror/lscr.io/linuxserver/plex:latest
image.png

从腾讯云获取容器镜像服务

经过实名认证的腾讯云账号,可以开通容器镜像服务,个人版免费。在此基础上,可以通过镜像服务对共有的Docker镜像进行加速拉取,并且可以将自己的镜像推送到腾讯云提供的免费镜像仓库中进行托管,方法同上面私有registry,且官方有详细的说明文档

截止到2024.04.16,个人版用户可以免费创建2个命名空间和500个镜像仓库,基本够用了。

20240416234509-8fd9d-image.png

从阿里云获取加速地址(可选,已不更新)

访问 cr.console.aliyun.com ,然后在下图位置即可得到专属加速地址
image.png

参考