今天我们分析仓库使用和数据管理
docker
官方仓库
注册
https://hub.docker.com 自由注册,邮件激活即可使用
命令使用
Docker pull/search/login/push/tag
tag [
镜像名:版本
] [
仓库
]/[
镜像名:版本
]
:
标记本地镜像,将其归入某一仓库
Push
[
仓库
]/[
镜像名:版本
]
:
推送镜像到仓库
--
需要登陆
Search [
镜像名
]
:在仓库中查询镜像 – 无法查询到
tag
版本
Pull
[
镜像名:版本
]
: 下载镜像到本地
Login
:登陆仓库
1
、命令登陆
dockerhub
2
、再使用
tag
命令标记一个镜像,指定自己的仓库
3
、使用
push
命令推送此镜像到仓库里
4
、打开查询自己仓库的镜像
私有仓库
搭建
下载
registry
镜像:
docker pull registry
-----
可配置加速器加速下载
启动
docker run -d --name reg -p 5000:5000 registry
然后可以通过
restful
接口查看仓库中的镜像(当前仓库是空的)
配置
http
传输
私服默认只能使用
https
,需要配置开放
http
配置完毕重启下
docker
服务
systemctl daemon-reload
systemctl restart docker
私服仓库推送镜像
docker tag hello-world
192.168.244.7:5000/hello-world
docker push 192.168.244.7:5000/hello-world
查询镜像:http://192.168.244.5:5000/v2/_catalog
查询
hello
版本:
http://192.168.244.5:5000/v2/hello/tags/list
数据管理
docker
容器运行,产生一些数据
/
文件
/
等等持久化的东西,不应该放在容器内部。应当 以挂载的形式存在主机文件系统中。
docker
的文件系统
1.
镜像与容器读写层,通过联合文件系统,组成系统文件视角
2.
容器服务运行中,一定会生成数据
3.
容器只是运行态的服务器,是瞬时的,不承载数据的持久功能
volume
文件挂载的探究
1
、
volume
参数创建容器数据卷
2
、我们通过
docker inspect data
查看容器元数据,可看到挂载信息
3
、在容器端添加一个文件
回主机目录查看,果然存在此文件:
4
、在主机方添加一个文件
回容器里查看,果然也同步增加了此文件
5
、指定主机目录方式挂载文件
格式:
-v path1
:
path2
如下命令,容器方会自动增加一个
data
目录
宿主机方,同样自动增加一个
/opt/data
目录
volumes-from
引用数据卷
新启一容器,引入上一步的 data
容器目录
自动得到同一个目录,内容与
data
容器里挂载一样
删除数据卷:
docker rm -v data
分享完成,到此结束!