点击数:16
Docker仓库
Docker Hub
Docker 官方维护了一个公共仓库,大约有上万个镜像,大多数情况下,我们可以直接使用该仓库中的镜像部署服务。
通过在 Docker Hub 注册账户,获得一个 dockerId,可能很多人在 Mac 版的 Docker 中看到登录时需要一个 dockerID,其实这个dockerId 就是登录账号。
在 Docker Hub 的 WEB 站点,可以搜索自己感兴趣的镜像,还可以查看镜像的参数,比如nginx
、mysql
等,可以看到数据nginx
html 页面保存的目录,端口配置,可以看到MySQL
用户名和密码的设置参数等信息。
在 shell 窗口可以使用 docker login
交互式命令输入用户名和密码登录,也可以使用docker logout
退出。
- 搜索镜像
docker search {imageName}
# docker search nginx
- 拉取镜像
docker pull {imageName}[:tagName]
docker pull nginx:latest
- 推送镜像
注意,push 镜像必须要登录,其他命令不需要登录。如果不登录则会出现“denied: requested access to the resource is denied”的提示。用户可以通过docker push 用户名/镜像名[:标签名]
的方式将自己的镜像推送到 Docker Hub。
这里有个小技巧,假设你的应用名称叫demo
,即本地仓库的镜像是 demo
。通过命令可以看到:
docker image ls
输出的内容如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
demo latest f32a97de94e1 8 months ago 25.8MB
hello-world latest fce289e99eb9 11 months ago 1.84kB
可以看到有一个demo
的镜像存在,我们现在要把这个demo
推送到 Docker Hub,需要做下面的几个步骤:
1.镜像所属
docker tag demo:latest joyven/demo:latest
2.查看新的镜像
docker image ls
3.push镜像
docker push joyven/demo:latest
自建仓库
docker run -d -p 5000:5000 --restart=always -v /data01/docker/registry:/var/lib/registry --name registry registry