一.Commit命令自己打包生成镜像
Docker镜像层都是只读的,容器层是可写的
docker commit提交容器副本使之成为一个新的镜像
在ubuntu的镜像基础上加上vim功能 反向生成新的镜像
apt-get update apt-get -y install vim
再将新的镜像更新:
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
二.本地镜像发布到阿里云
把这个新手指引做完 记住库登陆的密码(要用)
用以下三条命令推送镜像 (复制自己网站的)
三.docker私有库 dockerhub
四.容器卷(将docker容器内的数据保存进宿主机的磁盘中,完全独立于容器的生存周期)
运行一个带有数据卷的容器 (写一条就马上备份一条)
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
查看数据卷是否挂载成功:
docker inspect 容器id
Mounts表示的就是数据卷:
测试:
1.docker修改,主机同步获得
docker中加上dockerin.txt文件在/tmp/docker_data/中
可直接打开主机中的/tmp/host_data/(没有文件会自动创建)
主机中也出现了dockerin.txt文件
2.主机修改,docker同步获得(和上一步一样的 结果是会双向同步绑定 不再赘述。。 )
3.docker容器stop,主机修改,docker容器重启看数据是否同步
把容器关了:
主机里加一个c.txt 再打开容器
进入原来的docker 发现/tmp/docker_data/里面有c.txt (说明容器关闭了 主机的修改仍然会同步到docker)
如果要限制读写措施(限制容器 不限制主机):
容器卷的继承(示例是u2继承u1 u1和主机双向):
docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu
u1停止之后,u2和主机依旧是双向的,得出结论:u2和u1是独立的,u2依旧和主机双向,u1恢复之后依然和主机双向



