简单的私有DockerHub搭建

Docker Hub

目前Docker官方维护了一个公共仓库https://hub.docker.com, 其中已经包括100000+个的镜像。大部分需求均可以经过在 Docker hub中直接下载镜像来实现,web

注册登陆

能够在https://hub.docker.com 免费注册一个Docker帐号。在命令行执行docker login输入用户名及密码来完成在命令行界面登记Docker Hub。你能够经过docker logout退出登陆。docker

docker login

 

拉取镜像

能够经过docker search命令来查找官方仓库中的镜像,并利用docker pull命令来将它下载到本地。json

 

推送镜像

用户也能够在登陆后经过docker push命令来将本身的镜像推送到Docker Hub。tomcat

docker pull tomcat

 docker images

修改本地镜像的名字为帐号名/镜像名session

上传镜像到公共仓库工具

docker push woxpp/tomcat-test:latest

登陆界面查看测试

docker pull woxpp/tomcat-test

 

私有仓库

有时候使用Docker Hub这样的公共仓库可能不方便,用户能够建立一个本地仓库供私人使用。好比,基于公司内部项目构建的镜像。
docker-registry是官方提供的工具,能够用于构建私有的镜像仓库。url

安装运行docker-registryspa

能够经过获取官方registry镜像来运行。默认状况下,仓库会被建立在容器的/var/lib/registry目录下。能够经过-v参数来将镜像文件存放在本地的指定路径。命令行

docker run --name registry -d  -p 5000:5000 --restart=always  -v /opt/registry:/var/lib/registry registry
docker ps -a

测试是否成功

http://192.168.50.24:5000/v2/_catalog

使用docker tag将session-web:latest这个镜像标记为192.168.50.24:5000/session-web:latest格式为docker tag IMAGE:TAG/]REPOSITORY[:TAG]

docker tag docker.io/tomcat 192.168.50.24:5000/tomcat-2:latest

使用docker push上传标记的镜像

docker push 192.168.50.24:5000/tomcat-2:latest

验证上传的镜像

http://192.168.50.24:5000/v2/_catalog

 

 

 先删除已有镜像,再尝试从私有仓库中下载这个镜像。

docker images
 docker rmi 192.168.50.24:5000/tomcat-2
docker pull 192.168.50.24:5000/tomcat-2 

 

注意事项

The push refers to a repository [192.168.50.24:5000/consul]
Get https://192.168.50.24:5000/v1/_ping: http: server gave HTTP response to HTTPS client

能够用下面方式解决

修改客户端/etc/docker/daemon.json中写入以下内容

{
    "registry-mirror":[
        "http://hub-mirror.c.163.com"
    ],
    "insecure-registries":[
        "192.168.50.24:5000"
    ]
}

从新启动docker后再试试
service docker restart
相关文章
相关标签/搜索