Docker 仓库管理学习笔记
什么是 Docker 仓库?
Docker 仓库是用于存储、分发和管理镜像的中央位置。它可以被公开访问,也可以是私有的。Docker 仓库包含多个仓库,每个仓库又包含多个镜像。
Docker Hub
Docker Hub 是 Docker 官方提供的公共仓库,它包含了大量的镜像。你可以使用 Docker CLI 向 Docker Hub 登录、搜索、拉取、推送和删除镜像。
登录 Docker Hub
Copy Code$ docker login
拉取 Docker Hub 中的镜像
Copy Code$ docker pull nginx
推送到 Docker Hub
Copy Code$ docker tag image username/repository:tag
$ docker push username/repository:tag
私有仓库
除了使用 Docker Hub 外,你还可以搭建自己的私有仓库。
搭建私有仓库
使用 Docker Compose 快速搭建私有仓库:
Copy Codeversion: '3'
services:
registry:
restart: always
image: registry:2
ports:
- 5000:5000
environment:
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
volumes:
- ./data:/data
运行 docker-compose up
命令启动私有仓库容器。
上传本地镜像到私有仓库
Copy Code# 为镜像打标签
$ docker tag nginx localhost:5000/my-nginx
# 推送至私有仓库
$ docker push localhost:5000/my-nginx
从私有仓库中拉取镜像
Copy Code$ docker pull localhost:5000/my-nginx
实例
假设你需要部署一个名为 my-app
的 Web 应用,这个应用需要依赖一个名为 mydb
的数据库。可以通过 Docker Compose 部署应用,并在私有仓库中存储应用和数据库镜像。
yamlCopy Codeversion: '3'
services:
web:
build: .
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres:latest
volumes:
- ./data:/var/lib/postgresql/data
构建镜像并推送到私有仓库:
Copy Code$ docker-compose build
$ docker-compose push
在另一台机器上拉取镜像并启动应用:
Copy Code$ docker-compose pull
$ docker-compose up -d