Docker镜像仓库
一、
镜像仓库( Docker Registry )有公共的和私有的两种形式:
1、公共仓库:例如Docker官方的 Docker Hub,国内也有一些云服务商提供类似于 Docker Hub 的公开服务,比如 网易云镜像服务、DaoCloud 镜像服务、阿里云镜像服务等。
2、私有仓库:用户还可以在本地搭建私有 Docker Registry。企业自己的镜像最好是采用私有Docker Registry来实现。
二、
搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。
私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:
```sh
# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:【注意加上“,”分隔】
"insecure-registries":["http://192.168.150.101:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker
```
新建文件夹:mkdir registry-ui
新建文件:touch docker-compose.yml
添加如下命令:
version: '3.0' services: registry: image: registry volumes: - ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=传智教育私有仓库 - REGISTRY_URL=http://registry:5000 depends_on: - registry
执行docker-compose up -d
通过docker-compose logs -f查看日志
通过浏览器访问虚拟机ip:8080
三、
推送镜像到私有镜像服务必须先tag,步骤如下:
1、重新tag本地镜像,名称前缀为私有仓库的地址:192.168.150.101:8080/
docker tag nginx:latest 192.168.150.101:8080/nginx:1.0
2、推送镜像:docker push 192.168.150.101:8080/nginx:1.0
3、拉取镜像:docker pull 192.168.150.101:8080/nginx:1.0