Docker学习笔记系列是学习记录的https://yeasy.gitbooks.io/docker_practice/content/ 该文档的笔记
- 仓库(Repository)是集中存放镜像的地方
- 注册服务器(Registry)是管理仓库的具体服务器,每个服务器上可有多个仓库,每个仓库下可有多个镜像。
Docker Hub
- 公共仓库docker hub,可通过执行
docker login
通过命令行登录docker hub,使用docker logout
退出登录 - 拉取镜像:
docker search {关键字}
查找官方仓库中的镜像,利用docker pull {关键字}
下载到本地
- 在查找时,可设定
--filter=stars={N}
参数来指定显示收藏数量为N以上的镜像
- 推送镜像:
docker push {username}/{image_name}
- 自动构建:允许用户通过docker hub 指定一个目标网站(github或bigbucker)上的项目,一旦项目发生新的提交或创建了新的标签,docker hub会自动构建镜像并推送到docker hub中
- 自动构建,配置步骤:
-
- 登录docker hub
-
- 在账号设置中关联目标网站
-
- 在docker hub中新建或选择已有的仓库,在builds选项卡中选择 configure automated builds
-
- 选取目标网站中的项目(需要含有dockerfile)和分支
-
- 指定dockerfile的位置,并保存
- ps:可在docker hub的仓库页面的timeline选项卡中查看每次构建的状态
私有仓库
- docker-registry 官方工具,用于构建私有的镜像仓库
- 安装运行docker-registry
- 容器运行
- 通过获取官方 registry镜像来运行私有仓库
docker run -d -p 5000:5000 --restart=always --name registry registry
- 默认仓库被创建在容器的/var/lib/registry目录下,可通过
-v
参数指定
- 在私有仓库上传、搜索、下载镜像
- 构建好私有仓库,可使用
docker tag
标记一个镜像,然后推送到仓库 docker tag {标记的镜像} [私有仓库地址]/[标记的镜像]
docker push [私有仓库地址]/[标记的镜像]
上传标记的镜像
-
对于使用systemd的系统,需在
/etc/docker/daemon.json
中写入:{ "registry-mirror":["https://registry.docker-cn.com"], "insecure-registries":["{仓库所在机子ip}:5000"] }
Nexus3.X的私有仓库
ps:Nexus3.x支持Docker的私有镜像
- 利用 http://{ip}:8081访问nexus,默认账号admin,密码admin123