5.1 Docker Hub 公共镜像市场
docker 官方公共镜像仓库 https://hub.docker.com/
国内的有时速云 https://hub.tenxcloud.com/ (跟 docker 官方镜像同步)
5.2 搭建本地私有仓库
5.2.1 使用 registry 镜像创建私有仓库
安装 Docker 后, 可以通过官方的 registry 镜像来简单搭建一套本地私有仓库环境:
首先查看下 registry 的默认 volume 的目录
- [root@docker ~]# docker inspect registry
- [root@docker ~]# docker run -d -p 192.168.161.128:5000:5000 -v /data/registry:/var/lib/registry registry:latest
- #/data/registry 为本地镜像文件存储目录
- #/var/lib/registry 为容器内仓库默认存放镜像的目录
2c00af3018e5cc1e57332da1987050293fe6d58905289350125a7f145468a464
- [root@docker ~]# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 2c00af3018e5 registry "/entrypoint.sh /e..." 4 seconds ago Up 2 seconds 0.0.0.0:5000->5000/tcp elated_minsky
通过 - v 参数来将镜像文件存放在本地的指定路径.
5.2.2 管理私有仓库
使用 docker tag 命令将这个镜像标记为 192.168.161.128:5000/ubuntu:14.04(格式为: docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]:
- [root@docker02 ~]# docker tag ubuntu:14.04 192.168.161.128:5000/ubuntu:14.04
- [root@docker02 ~]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.161.128:5000/ubuntu 14.04 578c3e61a98c 2 weeks ago 223 MB
ubuntu 14.04 578c3e61a98c 2 weeks ago 223 MB
使用 docker push 上传标记的镜像
- [root@docker02 ~]# docker push 192.168.161.128:5000/ubuntu
- The push refers to a repository [192.168.161.128:5000/ubuntu]
- 70d93396f87f: Pushed
- 6ec525dfd060: Pushed
- 705419d10b13: Pushed
- a4aaef726d02: Pushed
- 04964fddc946: Pushed
14.04: digest: sha256:e4cb2e8d951d1418075b261f76476b4ac33a0a2fcffb0a68e376dc81bb5a2611 size: 1359
验证:
- [root@docker ~]# ls /data/registry/
- docker
在 Docker 从 1.3.X 之后, 与 docker registry 交互默认使用的是 https, 然而此处搭建的私有仓库只提供 http 服务, 所以当与私有仓库交互时就会报错误. 为了解决这个问题需要在启动 docker server 时增加启动参数为默认使用 http 访问. 修改 docker 启动配置文件:
- [root@docker02 ~]# docker push 192.168.161.128:5000/ubuntu
- The push refers to a repository [192.168.161.128:5000/ubuntu]
- Get https://192.168.161.128:5000/v1/_ping : http: server gave HTTP response to HTTPS client
- [root@docker02 ~]# vi /usr/lib/systemd/system/docker.service
找到 ExecStart
添加
--insecure-registry 192.168.161.128:5000 \
重启服务器. 即可解决
来源: http://www.bubuko.com/infodetail-2651791.html