杜郎俊赏 - dujun.io

开源实例之 Docker Hub 镜像仓库

前言

随着部署的开源项目实例越来越多,服务器硬盘不可避免地不够用了。所以又调整了策略,将镜像提交到 Docker 官方仓库,本地定期删除镜像,需要时再拉取。

Docker Hub 介绍

Docker Hub is a service provided by Docker for finding and sharing container images with your team. It’s the world’s largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors (ISV) building and distributing their code in containers.

Users get access to free public repositories for storing and sharing images or can choose a subscription plan for private repositories.

Docker Hub 是官方提供的镜像仓库,从名字就可以联想为跟 GitHub 类似。

Docker Hub 设置

注册账号

打开官网https://hub.docker.com,用邮箱注册账号。

镜像加速器

国内拉取官方仓库比较慢,建议使用阿里云的镜像加速器(阿里云跟 Docker 官方合作)。

登录阿里云控制台,进入容器镜像服务,找到镜像工具下面的镜像加速器,就可以看到自己的专属加速地址。

然后修改配置文件 /etc/docker/daemon.json,填入自己的加速地址。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://***.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker Hub 使用

登录

docker login

按提示输入账号和密码即可。只需要登录一次,会保存至配置文件。

提交镜像

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname

docker-compose 使用

用 docker-compose 简化操作,包含构建、提交、拉取全部流程。以 ajenti 镜像为例,一行命令提交仓库:

docker-compose -f build.yml push ajenti

其中 build.yml 内容为:

version: '3'

services:
  ajenti:
    build:
      context: ./
      dockerfile: Dockerfile
    image: dujunio/ajenti
    privileged: true

后记

体验更多开源实例

标签: 开源实例
日期:2023-02-01