我来详细介绍一下 Docker Hub 和 Harbor 两个 Docker 仓库的搭建过程。
对于 Docker Hub,要求的服务器配置相对较低,只要有足够的存储空间和网络带宽即可。但是对于 Harbor,要求的服务器配置相对较高,需要一定的 CPU 和内存资源,以及足够的存储空间和网络带宽。具体的配置要求可以参考官方文档或者安装指南。
- Docker Hub 仓库搭建
首先,需要在服务器上安装 Docker。安装完成后,可以使用以下命令来检查 Docker 是否安装成功:
docker version
接下来,需要创建本地仓库。可以使用以下命令来创建一个名为 my-repo 的本地仓库:
docker run -d -p 5000:5000 --name my-repo registry:2
这个命令会启动一个 Docker 容器,其中运行了一个 Registry 镜像。这个容器会监听本地的 5000 端口,并将所有推送到该容器的镜像保存在本地仓库中。
接下来,需要配置 Docker 客户端,使其能够将镜像推送到本地仓库。可以使用以下命令来配置 Docker 客户端:
echo '{"insecure-registries":["my-server-ip:5000"]}' > /etc/docker/daemon.json
其中,my-server-ip 是服务器的 IP 地址。这个命令会在 /etc/docker/daemon.json 文件中添加一行配置,告诉 Docker 客户端可以将镜像推送到本地仓库。
现在,就可以将镜像推送到本地仓库了。可以使用以下命令来推送一个名为 my-image 的镜像到本地仓库:
docker tag my-image my-server-ip:5000/my-repo/my-image
docker push my-server-ip:5000/my-repo/my-image
其中,my-image 是要推送的镜像名称,my-repo 是本地仓库的名称,my-server-ip 是服务器的 IP 地址。这个命令会将本地的 my-image 镜像打上标签,并将其推送到本地仓库中。
最后,可以使用以下命令来从本地仓库拉取镜像:
docker pull my-server-ip:5000/my-repo/my-image
- Harbor 仓库搭建
首先,需要在服务器上安装 Docker 和 Docker Compose。安装完成后,可以使用以下命令来检查 Docker 和 Docker Compose 是否安装成功:
docker version
docker-compose version
接下来,需要下载 Harbor 的离线安装包并解压。可以使用以下命令来下载 Harbor 的离线安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz
tar xvf harbor-offline-installer-v2.3.2.tgz
其中,v2.3.2 是 Harbor 的版本号。
接下来,需要进入解压后的 Harbor 目录,并修改 harbor.yml 配置文件。可以使用以下命令来进入 Harbor 目录:
cd harbor
然后,可以使用编辑器打开 harbor.yml 配置文件,并修改其中的配置。例如,可以修改 hostname、admin_password、data_volume、clair_server、notary_server 等配置。
修改完成后,可以使用以下命令来启动 Harbor:
docker-compose up -d
这个命令会启动一个 Harbor 容器,并在其中运行所有需要的服务。可以使用以下命令来检查 Harbor 是否启动成功:
docker-compose ps
现在,就可以使用浏览器访问 Harbor 的 Web 界面了。可以使用以下 URL 来访问 Harbor:
http://my-server-ip
其中,my-server-ip 是服务器的 IP 地址。在 Web 界面中,可以管理镜像、用户、项目等内容。
docker-compose.yml 文件
以下是一个使用 Docker Compose 创建本地 Docker Hub 仓库的示例 docker-compose.yml
文件:
version: '3'
services:
registry:
image: registry:2
ports:
- "5000:5000"
volumes:
- ./data:/var/lib/registry
这个 docker-compose.yml
文件定义了一个服务 registry
,使用 registry:2
镜像来启动 Docker Hub 仓库,并将容器的 5000
端口映射到主机的 5000
端口。同时,将主机上的 ./data
目录挂载到容器内的 /var/lib/registry
目录,用于存储镜像数据。
你可以将这个文件保存为 docker-compose.yml
,然后在该文件所在的目录中执行 docker-compose up -d
命令来启动 Docker Hub 仓库。启动后,你可以使用 Docker 客户端来推送和拉取镜像。
下面是一个使用 Docker Compose 部署 Harbor 的示例 docker-compose.yml
文件:
version: '3.7'
services:
nginx:
image: nginx:1.17.9-alpine
container_name