云计算_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找回构建时被删除的文件  https://www.cnblogs.com/zejin2008/p/13460498.html  

构建中解决这个问题

 采用临时-中间镜像-然后复制想要的部分
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镜像的元数据

参考

各种
posted @ 2022-06-30 10:17  辰令  阅读(75)  评论(0编辑  收藏  举报