1.下载registry 镜像
# docker pull registry:2
2.启动docker registry
docker run -idt -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2
i: 保持sdtin开放状态 d: 使容器以守护进程方式后台运行,并打印容器id t: 分配一个tty(虚拟终端设备) v: 绑定挂载一个容器内的路径到宿主机路径 p: 映射一个容器的端口到宿主机端口 restart: 当容器退出时的重启策略 name: 给容器命名一个名称
3.查看docker registry 进程:
$docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 25cdc31fc97a registry:2 "/entrypoint.sh /e..." 10 minutes ago Up 10 minutes 0.0.0.0:5000->5000/tcp registry
4.验证可用性
. 4.1 打tag
docker tag ubuntu:12.04 127.0.0.1:5000/ubuntu:12.04
4.2 查看本地镜像
$docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 12.04 5b117edd0b76 6 months ago 104MB
4.3 push镜像到私有仓库:
$docker push 127.0.0.1:5000/ubuntu
4.4 查看宿主机映射目录
$ll /opt/registry/docker/registry/v2/repositories/ drwxr-xr-x 5 root root 4096 Oct 24 15:21 ubuntu
4.5 查看docker registry中的镜像
$curl http://127.0.0.1:5000/v2/_catalog {"repositories":["ubuntu"]}
4.6 在docker registry中下载镜像:
$docker rmi 127.0.0.1:5000/ubuntu:12.04 Untagged: 127.0.0.1:5000/ubuntu:12.04 $docker pull 127.0.0.1:5000/ubuntu:12.04 12.04: Pulling from ubuntu Status: Downloaded newer image for 127.0.0.1:5000/ubuntu:12.04 $docker images REPOSITORY TAG IMAGE ID CREATED SIZE 127.0.0.1:5000/ubuntu 12.04 5b117edd0b76 6 months ago 104MB