Docker镜像仓库
- 什么是镜像仓库
存放着很多镜像的仓库
- 为什么要使用镜像仓库
1. 起到备份的作用
2. 方便其他机器下载使用
- 镜像仓库的种类
- 公共镜像仓库
- 官方: http://hub.docker.com/
- 非官方: 其他组织或者公司开发的镜像,供大家免费使用
- 私有镜像仓库
- 公司自己搭建的,用于存放公司内部的镜像,自己管理,不提供给外部使用,避免了商业项目暴露出去的风险
- 公共镜像仓库
-
阿里云镜像仓库的搭建
- 阿里云镜像仓库的申请地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/repositories - 登录阿里云Docker Registry sudo docker login --username=南荣牧歌 registry.cn-chengdu.aliyuncs.com
- 从Registry中拉取镜像
sudo docker pull registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号] - 将镜像推送到Registry
$ sudo docker login --username=南荣牧歌 registry.cn-chengdu.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号]
$ sudo docker push registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号]
- 阿里云镜像仓库的申请地址:
-
harbor仓库的搭建
- 构建自己的镜像仓库
- 安装之前要确保是否安装了docker、docker-compose、openssl以及python2.7以上的版本
- Harbor离线版安装下载地址
- https://github.com/goharbor/harbor/releases
- 百度云地址,密码:ctmn
- 上传下载好的压缩包并解压
- vim harbor.yml
- 修改主机名 hostname: reg.mydomain.com
- 修改密码 harbor_admin_password: 123456
- 执行脚本 sh prepare,目录会生成docker-compose.yml
- 执行安装命令 sh install.sh
- 执行命令 docker-compose ps
- 访问Harbor,默认用户名admin
- 关闭:docker-compose down
- 启动:docker-compose up -d
- 构建自己的镜像仓库
-
harbor仓库配置与使用
- Docker默认值允许访问https仓库
- 如果需要访问http仓库需要自己配置
- 配置允许http访问仓库: /etc/docker/daemon.json
{
“insecure-registries”:[“http://192.168.0.151”]
} - 重启docker服务 systemctl restart docker.service
- 网页上访问harbor创建项目名(默认端口是80)
- 登录: docker login --username=admin 192.168.0.151
- 改名:docker tag mysql:5.7 192.168.0.151/xdclass/mysql:5.7
- 推送:docker push 192.168.0.151/xdclass/mysql:5.7
- 下载: docker pull 192.168.0.151/xdclass/mysql:5.7
- docker login 后有一个登录凭证(可删除,下次需要密码):
- /root/.docker/config.json (建议从安全角度出发,每次登录后进行删除)
-
本地镜像容器的载入与载出
- 两种方法
- 保存镜像
- 保存容器
- 保存镜像
- docker save [镜像id] -o|> [需要保存的路径]
docker save cd3ed0dfff7e -o /home/mysql.tar
docker save mysql:5.7 > /home/mysql.tar
- docker save [镜像id] -o|> [需要保存的路径]
- 载入镜像
- docker load -i mysql.tar
- 保存容器(实际上是吧当前的容器也打包成镜像)
- docker export 974b919e1fdd -o /home/mysql-export.tar
- 载入容器
- docker import mysql-export.tar
- 两种方法