1.namespace和cgroup 2.docker各种安装方式 3.docker镜像操作命令 4.docker容器的进程对应关系 5.docker的存储引擎(centos7.2devicemapper),推荐使用overlay2 6.UnionFileSystem联合文件挂载 七、面试

1. docker和虚拟机的区别
- 大概可以多跑(30%~50%)的数量
- 横向扩容方便(基于模板的)
- 速度快(秒级),消耗资源低
- 一个容器一般只跑一个服务,升级的时候不会有影响
- 内核上运行主进程->调用systemd进程->docker主进程->容器镜像
2.怎么保证每个容器都有不同的文件系统并能相互不影响?
3.一个容器主进程内的各个容器都是其子进程,那怎么实现同一个主进程下不同类型的子进程?各个进程间通信能相互访问(内存数据么?)
答:不能访问内存,有技术可以实现,但是没有必要
1. 每个容器怎么解决IP及端口分配问题?
答:
1. 多个容器的主机名能一样么?
答:
6.每个容器要不要都有root用户?怎么解决账户重名的问题?
7.docker的PID和宿主机的PID有什么关系?
答:systemd主进程下面是docker进程
一次构建,到处运行
构建 image=镜像
运输 harbor
运行 端口
	运行时
		runc
	containerd	(google推出,docker附属出来的项目,功能太简单了,只能用来绑定容器,跑起来)
	pouch	(阿里推出的,开源的,基于docker,更新慢)
docker+k8s

没有内核,调用宿主机进行运行,自然利用率高
128G	虚拟机可以跑15个虚拟机   docker可以跑30多容器
体积小 速度快 

#docker不支持ext3的磁盘分区
  • 程序
    • 工具
    • 服务
  • 三个核心组件
    • 仓库 registry
    • 镜像 images
    • 容器 containers
  • 隔离
    • namespace
    • cgouprfs

解决cicd的难处(操作系统不一样) 开发环境,编程语言

cicd

  • docker 的镜像仓库、容器操作
    • 三个核心组件:仓库、镜像、容器
    • 镜像名字 仓库服务名/用户空间/镜像仓库名/:版本
  • dockerfile的作用
  • docker的资源限制和数据存放
  • docker compose使用

docker名字一般是用目的命名

服务和工具的区别
服务类启动以后得一直运行,
工具会打包,自动断开,用的时候再启动
docker run -it --rm -v /root/log:/
#docker的存储位置
cd  var/lib/docker
#指定docker存储路径
vim /usr/lib/systemd/system/docker.service
Docker内置网络驱动
docker info 可以查看

bridge
host
ipvlan
macvlan
null		无网络
overlay		k8s中用的

自定义