Docker 的思维导图 知识框架
Docker技术总结
Docker 作为一个构建可以使用的方式,作为一种环境,对于应用开发来说,是一个很有效的工具
思维导图
通过基本概念进行查看
说明
通过以上的思维导图,构建了其大体的只是框架
另外的方式是通过项目构建的pipeline进行掌握
恢复docker中构建中删除的数据
获取镜像历史构建信息,并标出层级 docker history
获取 diff路径 docker inspect
查看容器是否更改 docker diff
docker diff 命令用于比较一个 Docker容器 不同版本提交的文件差异。
该命令后面的 CONTAINER 可以是容器Id,或者是容器名
3 种容器内文件状态变化(A - Add, D - Delete, C - Change )的列表清单
进入目录查找被删除前的文件
tree /var/lib/docker/overlay2/a****f/diff
cat
docker找回构建时被删除的文件
构建中解决这个问题
采用临时-中间镜像-然后复制想要的部分
FROM test:latest as RelData
FROM test:RTmatrix
COPY --from=RelData /opt/test /opt/test
挂载和网络
01.
将宿主机 /var/run/docker.sock 文件挂载到容器,实现容器内 docker 操作宿主机 docker 的目的
绑定挂载到本地的docker的--》 本地Docker进程进行通信就是通过挂载/var/run/docker.sock文件来实现
-v /var/run/docker.sock:/var/run/docker.sock
02.Docker卷提供对数据的持久访问-- 通过-v或--volume挂载
docker volume create 命令,可以没有它与任何特定的容器创建卷。 docker network create
docker volume create --name DataVolume1
容器卷镜像
docker volume create DataVolume1
docker run -itd --name data_test -v DataVolume1:/opt/data/ harbor/data_test:v1
docker run --entrypoint /bin/bash -v DataVolume1:/opt/data/
03. # --volumes-from 使用其它容器的volume
数据卷技术可将容器产生的数据同步到本地,容器之间也可以共享,从而实现容器数据的持久化。
--volumes-from 就是从另一个容器当中挂载容器中已经创建好的数据卷
“数据卷容器”,Volume Container,简称VC容器
docker create --name vc_data -v volume_name:container_path image_name
docker run -d -p 80:80 --name nginx01 --volumes-from vc_data nginx
04. #查看 docker volume ls docker network ls
docker inspect 卷名 获取容器中的目录挂载到本地的位置
docker volume inspect name docker network inspect name
安装包说明
docker-ce-rootless-extras 以非root账户运行docker daemon
Docker Buildx 是 Docker的CLI插件,buildx构建多架构镜像-不同cpu的架构 来自于Moby BuildKit https://github.com/moby/buildkit 多平台镜像构建环境
docker-compose 分为插件版本(docker-compose-plugin)和独立版本(docker-compose-plugin)
docker scan 扫描镜像中的漏洞 Docker Scan 在 Snyk 引擎上运行,为用户提供对其本地 Dockerfile 和本地映像的安全状况的可见性。
docker scan(有空格) 用于启动容器失败后,无法通过docker logs定位问题,只能把镜像内的文件解压出来调试
# docker-compose-plugin 插件版查看版本号
$ docker compose version
docker diff 用于列出容器中,与初始化镜像中有变动的文件,也可用于查看容器启动后,是否有期望的文件产生
docker history 来取得构建这容器时运行的命令。不能对镜像进行反向工程的唯一场景,是镜像的维护者在他的Dockerfile中使用了ADD或COPY命令
docker inspect 命令可以用来获取Docker容器或者Docker镜像的元数据