具体过程可以参考
但是笔者按照上面链接测试发现,私有镜像存储位置并非链接上所说的/docker/registry/ 目录,而是/var/lib/registry, 因为registry镜像定义了一个路径为/var/lib/registry的volumn
如果不对该column做显示映射,docker会自动在宿主机的工作目录中创建一个目录,然后将该目录与/var/lib/registry挂接起来。
当然,大部分情况需要将镜像放到自己所创建的目录中,那需要进行显示的映射,如:
笔者需要将以后的镜像内容都放到/bigdata/docker/registry目录中,因此启动镜像的时候如下:
docker run -itd -v /bigdata/docker/registry/:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
启动后inspect 该容器volumn信息如下
"Mounts": [
{
"Type": "bind",
"Source": "/bigdata/docker/registry",
"Destination": "/var/lib/registry",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
其中source是宿主机的目录,Destination为docker 容器的目录
此时通过push可以将镜像放到私有服务器中,具体过程可以查看
文章开头的链接。
push后的结果如下:
当然了自己也可以修改容器中存放镜像的目录,然后形成新的镜像
可以对
rootdirectory进行修改也可以达到目的。
另外自动产生的挂接目录默认不会随着容器的销毁而销毁(除非加上rm -v选项),所以需要自己手动删除
删除以及查看命令如下:
docker volume ls
DRIVER VOLUME NAME
local 477d337d74f8e618e53491dace6e764822d758bfbf404ccdfa461267edf8a573
local 4cc23bde7f55091584bd97a7836350fc1dcaa49227682148fde04b7a3c87fcdc
local 68d2659f6a00e06f838f6971f8ea109423f780679945ae81b47671798ef96afa
local bc7cf4a9c60d71adc704752ddf0f88a741ee2d5007e5abd720dd1cacbeaef3fc
local f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206
过滤不适用的volume
docker volume ls --filter dangling=true
DRIVER VOLUME NAME
local 477d337d74f8e618e53491dace6e764822d758bfbf404ccdfa461267edf8a573
local 4cc23bde7f55091584bd97a7836350fc1dcaa49227682148fde04b7a3c87fcdc
local 68d2659f6a00e06f838f6971f8ea109423f780679945ae81b47671798ef96afa
local bc7cf4a9c60d71adc704752ddf0f88a741ee2d5007e5abd720dd1cacbeaef3fc
local f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206
查看信息
docker inspect f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206
[
{
"CreatedAt": "2024-01-26T21:19:45+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/data/docker/volumes/f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206/_data",
"Name": "f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206",
"Options": null,
"Scope": "local"
}
]
删除某个volume
docker volume rm f33d1f239000eb310a4796a023196478f3812fdfc0bea07fcd924d048b347206