Docker 的隔离思路、和传统虚拟机的区别、镜像和容器这几个名词、C/S 架构怎么通信,以及 ubuntu 上装完怎么配镜像加速。
镜像为什么是一层层叠出来的、bootfs 和 rootfs 各是什么、容器层怎么写时复制,以及 docker images、search、pull、rmi 和导出导入这几个命令怎么用。
容器的 run、启停、日志、进容器和拷文件这些日常操作,外加 nginx、tomcat、ES 和 Portainer 四个真跑一遍的例子。
容器一删数据就跟着没了,所以日志、数据、配置这三个目录都要挂到宿主机上;-v 的三种写法、卷的管理、读写权限,以及容器之间用 --volumes-from 共享数据。
在 Docker 里搭一套 MySQL 主从:挂载目录、分别写 master.cnf 和 slave.cnf、开 binlog、建复制用户,再到 CHANGE MASTER 和 START SLAVE;中间踩了回环地址的坑,改用自定义网络按容器名连才通。
容器一多,一条条 run 根本记不住,于是把微服务、Redis、MySQL 写进一个 docker-compose.yml,docker compose up -d 一次拉起,容器之间直接用服务名互相访问。
Dockerfile 到底是什么、四条基本规则和常用指令怎么写、ADD 和 COPY 差在哪、每条指令为什么是一层,动手拿 centos 做一个带 vim 和 jdk8 的镜像,最后把 CMD 和 ENTRYPOINT 的区别用实验试清楚。
用 tomcat 和一个微服务 jar 走一遍完整实战,聊聊构建缓存、.dockerignore、虚悬镜像和多阶段构建怎么省事,最后把镜像发到 Docker Hub 和阿里云的完整流程过一遍。
docker0 网桥和 veth-pair 是怎么把容器连起来的、bridge/host/none/container 四种网络模式各自什么脾气,以及从 --link 换到自定义网络、再把两个网段打通的全过程。