本文共 1511 字,大约阅读时间需要 5 分钟。
当使用docker pull
下载一个镜像的时候,实际是从docker hub网站下载镜像。Docker Hub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提供registry镜像,使得搭建私有仓库非常简单。
docker pull registrydocker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
这里遇到一个报错:
iptables: No chain/target/match by that name
,解决办法是重启docker然后执行iptables-save
即可。
curl http://10.10.99.241:5000/v2/_catalog
现在仓库中没有镜像,所以是空的。
vim /etc/docker/daemon.json{ "registry-mirrors": [ "https://registry.docker-cn.com" ], "insecure-registries": ["10.10.99.241:5000"]}systemctl restart docker
查看现有的镜像:
现在想上传busybox:latest
这个镜像,首先给这个镜像打个标签:
docker tag busybox:latest 10.10.99.241:5000/busybox:v1.0
docker push 10.10.99.241:5000/busybox:v1.0
创建仓库的时候指定了数据持久化的目录,所以可以在目录下查看到上传的镜像数据:
现在在通过仓库提供的接口可以查看到上传的镜像了:
单纯下载镜像可以使用下面的指令:
docker pull 10.10.99.241:5000/buxybox:v1.0
或者可以直接运行docker容器:
docker run -tid --name busybox 10.10.99.241:5000/busybox:v1.0 ping 8.8.8.8
curl http://10.10.99.241:5000/v2/busybox/tags/list
可以将自己的镜像上传到docker hub中,然后可以方便的从docker hub中下载镜像。
登录docker hub官方网站然后注册,这里不多赘述。
docker login或docker login --username=--password=
查看一下现在有的镜像:
现在要上传mysql这个镜像,所以先对他打标签:
docker tag mysql:5.7 lyzkks/mysql:v5
docker push lyzkks/mysql:v5
一种方法是在页面中看,上传成功后将会在页面中显示上传的镜像:
可以在
DETAILS
中编辑详细信息
另一种是命令行执行命令,搜索上传的镜像:
docker search lyzkks
开始的时候不一定能搜到,可能是缓存的原因,需要等一段时间。
docker pull lyzkks/mysql:v5