上一篇VS code remote提到国内访问docker官方镜像特别慢,可以使用加速器。但对于企业等,都会自建私有镜像地址,也可以解决这个问题。

docker registry

Registry是一个无状态的,高可扩展的服务端应用,主要用于存储和分发Docker镜像。

Docker Registry文档

下载registry镜像

1 直接运行registry

这种方式需要机器能够访问docker.io

docker run -d -p 5000:5000 --name registry registry:2

2 保存registry.tar并运行

  • 通过可以访问外网的机器先 docker pull registry放入本地镜像仓库

  • 使用docker save保存为tar包

  • 将registry.tar拷贝到无法访问外网的机器上

  • 使用docker load -i将tar包加载到本地镜像仓库

  • 最后docker run运行registry服务

配置私有镜像地址

1 将镜像docker push至私有镜像仓库

和使用registry.tar运行registry服务类似,思路如下:

  • 将镜像tar包拷贝到机器上

  • 使用docker load -i加载到本地镜像

  • 使用docker tag为镜像打上私有镜像地址的标签,比如192.168.1.11:5000/ubuntu:least

  • 使用docker push将镜像推到镜像仓库

使用私有镜像地址

修改daemon.json,添加如下配置:

{
  "insecure-registries": ["192.168.1.11:5000"]
}

配置之后重启docker服务,就可以在Dockerfile中使用私有镜像仓库中的镜像了。