deepin 安装 docker
鲸鱼背上有集装箱
蓝色的大海里面---------------宿主机系统 deepin
鲸鱼--------------docker
集装箱--------------容器实例 from 镜像模板
-a:列出正在运行容器+历史运行过容器
-l:上一个运行的容器 docker ps -l
-n:最近 n 个创建容器 docker ps -n 3
-q:静默模式,只显示容器编号
退出容器exit——容器停止退出
ctrl+P+Q——容器停止不退出
启动容器:docker start 容器ID或容器名
重启容器:docker restart 容器ID或容器名
停止容器:docker stop 容器ID或容器名
强制停止容器:docker kill 容器ID或容器名
删除已停止的容器: docker rm 容器ID或容器名 (-f 强制删)
删除多个容器 docker rm -f $(docker ps -a -q);docker ps -a -q | xargs docker rm
UnionFS(联合文件系统)
对于一个精简的OS,rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了,因为底层直接用Host的kernel,自己只需要提供 rootfs 就行了。由此可见对于不同的linux发行版, bootfs基本是一致的, rootfs会有差别, 因此不同的发行版可以公用bootfs。
Docker镜像都是只读的当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
docker commit提交容器副本使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名] # 完整流程 docker run -it -p 8888:8080 tomcat:8.5.32 docker exec -it container_id /bin/bash docker commit -m="description" -a="author" container_id solejay/tomcat:1.0卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性: 卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷
特点:
1:数据卷可在容器之间共享或重用数据
2:卷中的更改可以直接生效
3:数据卷中的更改不会包含在镜像的更新中
4:数据卷的生命周期一直持续到没有容器使用它为止
容器退出后不影响数据卷中数据的变更
若创建容器数据卷,主机对应的文件路径可通过 docker inspect containerID 查看
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器
docker run -it --name dc01 solejay/centos # 创建容器 dc01 docker run -it --name dc02 --volumes-from dc01 solejay/centos # volumes-from dc01 docker run -it --name dc03 --volumes-from dc01 solejay/centos # 在上面任一容器内进行的数据修改都会同步到其他容器内 # 删除 dc01 后不影响 dc02 及 dc03 之间的数据同步 # 个人理解为源数据文件为主机上的文件,所有容器的同步都是与主机数据进行同步的结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止