docker服务:info/version/
容器:ps/run/exec/top/statslogs/port/rm/stop/start/kill/inspect/cp/ctrl-p+ctrl-q
镜像:login/images/tag/pull/push/commit/build/rmi/save/load/
docker run选项:-it -d -p -P --rm --restart --name --env -v对应宿主机与容器数据目录 --net网络模式 -c -m
# docker rm `docker ps -aq -f status=exited` #批量删除已退出容器
# docker stop $(docker ps -aq) #批量正常关闭正在运行的容器
# docker kill $(docker ps -aq) #批量强制关闭正在运行的容器
# docker rmi $(sudo docker images -q -f danging=true) #批量清理临时镜像文件
FROM
LABEL
COPY/ADD
RUN/CMD/ENTRYPOINT
ENV
EXPOSE
VOLUME
(1)镜像最小化原则;需要选择最精简的基础镜像、清理镜像构建的中间产物、减少镜像的层数。
(2)构建速度最快化原则;充分利用镜像构建缓存,再利用构建的缓存来加快镜像构建速度。
(3)注意优化网络请求。
namespace空间隔离/cgroup资源限制/
镜像可读–>一层一层的写数据–>容器
数据管理:数据卷(docker run -v)/数据卷容器(docker run --volumes-from)
#容器数据对应宿主机位置/var/lib/docker/overlay2/
#容器日志对应宿主机位置/var/lib/docker/logs/
#容器本身对应宿主机位置/var/lib/docker/containers/
#镜像信息对应宿主机位置/var/lib/docker/graph/
#镜像底层文件对应宿主机位置/var/lib/docker/aufs/
#Ubuntu系统下Docker的配置文件是/etc/default/docker
高可用:主从单向复制/双向同步
编写yaml文件,可同时启动多个容器,只能管理当前yaml文件目录下的容器。命令docker-compose up/start/stop/logs/
三种网络模式:host/none/bridge/
filebeat如何分别收集不同pod日志
容器将日志目录挂载在宿主机不同目录,或是挂载到数据卷容器的不同目录,然后filebeat从宿主机不同目录采集不同pod日志。