1、Docker的基本组成———镜像、容器、仓库
2、Docker system df : 查看镜像/容器/数据卷所占的空间
3、docker命令的组合续传使用: docker rmi -f $(docker images -qa)
4、谈谈docker虚悬镜像是什么?
—— 仓库名、标签都是
5、部分参数说明:
-P 随机端口映射 / -p 指定端口映射
6、退出方式 两种退出方式区别
—— 1) exit : run进入容器,exit退出,容器停止
—— 2) ctrl+p+q : run进入容器,ctrl+p+q退出,容器不停止
7、查看容器的日志 : docker logs 容器ID
8、查看容器运行的进程: docker top 容器ID
9、查看容器内部细节: docker inspect 容器ID
10、进入容器exec与attach的区别 【是否会导致容器的停止】
—— attch 直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止
—— exec 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止
11、docker cp 容器ID: 容器内路径目的主机路径
12、整套容器的进行备份
export导出容器的内容留作为一个tar归档文件;import从tar包中的内容创建一个新的文件系统再导入为镜像
—— docker export 容器ID > 文件名.tar
—— cat 文件名.tar | docker import - 镜像用户/镜像名: 镜像版本号
13-1、【花卷】镜像的底层原理: UnionFS(联合文件系统) 是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像可以制作各种具体的应用镜像
13-2、bootfs主要包含bootloader和kernel,bootloader主要是引导加载kernel,Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是引导文件系统bootfs。这一层与我们电影的Linux/Unix是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs
13-3、rootfs在bootfs之上,包含的就是典型Linux系统中的/dev,/proc,/bin,/etc等标准目录和文件。rootfs就是各种不同操作系统发行版,比如Ubuntu,Centos等
13-4、镜像分层最大的一个好处就是共享资源,方便复制迁移,为了复用
13-5、Docker镜像层都是只读的,容器层是可写的。 当容器启动时,一个新的可写层被加载到镜像的顶部,这一层称”容器层”,之下都叫”镜像层”
14-1、docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
14-2、新镜像从base镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层
15、搭建registry
15-1、docker run -d -p 5000:5000 -v /lipengchaomac/myregistry/:/tmp/registry —privileged=true registry
15-2、docker tag 镜像名:镜像版本 IP:端口号/镜像名:镜像版本
15-3、取消docker默认不允许http方式推送镜像。在daemon.json中增加 insecure-registries 属性
16、容器卷解决挂在主机目录访问权限不足: 挂在目录后加 —privileged=true 参数
17-1、容器数据卷的方式 完成数据的持久化重要资料backup
17-2、容器卷特点:
—— 数据卷可在容器之间共享或重用数据
—— 卷中的更改可以直接实时生效
—— 数据卷中的更改不会包含在镜像的更新中
—— 数据卷的生命周期一直持续到没有容器使用它为止
18、容器卷的读写规则: docker run -it —privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名 rw/ro 进行读写权限的控制
19、容器2继承容器1的卷 : docker run -it —privileged=true —volumes-from 父类 —name u2 ubuntu
20、常用软件总体步骤: 搜索镜像、拉取镜像、查看镜像、启动镜像、停止容器、移除容器