• 黑马学Docker(三)



    目录:

    (1)镜像结构

    (2)自定义镜像-Dockerfile

    (3)DockerCompose-初始化Compose

    (4)DockerCompose-部署微服务集群

    (5)Docker镜像仓库


    (1)镜像结构

     

    前面学习的镜像都是docker官方帮我们创建的镜像,将来我们自己的微服务,需要我们自己创建镜像

     

    镜像是由以上组成的,结构去看怎么样去组合,这些组成有没有依赖关系顺序呢?如果没有底层的系统函数库,文件系统怎么样去完成环境的配置,如果没有配置环境变量怎么去 做依赖的安转,如果没有依赖安装如何去完成应用的安装,如果没有应用的安装如何去做应用的配置呢,可见镜像不仅仅 把这一堆的东西放在一起,而且还需要安装一定的顺序分层构建下面是mysql的镜像:

     

     

     

     (2)自定义镜像-Dockerfile

     

     

    创建文件夹:

     

     

    构建镜像:.:表示Dockerfile所在的目录

     它会逐步执行dockerfile的指令

     

     查看镜像:

    运行镜像: 

    使用docker ps,命令查看镜像状态:

     

    在页面进行访问:

     

    这个镜像是基于lubantu的镜像构建的 ,前面的代码都是相同的配置jdk,只有复制java项目是不同的,这是分层的,我们可以把前n层构建好做一个镜像先放在哪里,我们以后在这个基础上构建

     

    java:8-alpine:已经把前n不步做完了 ,如果以它为基础前几部(上方蓝色的部分)都可以省略掉了

     

     修改Dockerfile:

    查看一下:

     

    在次构建命令:执行4步就可以完成

     

     

     (3)DockerCompose-初始化Compose

    前面我们已经实现使用docker实现 redis、mysql、这样的中间件,还有Dockerfile实现微服务镜像的自定义构建、还有Docker部署,所有的部署都是我们手动一个个完成的,但是在实际生产环境下微服务的数量是非常多的,这么多的微服务一个个去构建,是麻烦的这时候需要一个集群部署的手段 

     

     安装:

    上传文件:

     

     

     

     

     (4)DockerCompose-部署微服务集群

     这里部署前面学的springcloud的demo:

     

     

     

     

     

     

    修改dockerCompose的服务名称:

     

     

     

     

     

    使用Maven打架包:

     修改:pom中:build -filename最终的打包名称

     点击package:

     

    把刚才打包好的架包复制到cloud-demo userservice等对应的目录中 

     

     

      

    上传cloud-demo文件夹:

     

     

     查看docker-compose 帮助命令:

     执行命令:

    完成后使用docker ps 查看容器状态:

     

     可以重启微服务:

    可以查看日志:

     

     去页面访问:

     

    (5)Docker镜像仓库

    镜像都有一个统一的地方去管理,这个地方就是Docker镜像仓库,前面我们了解过DockerHub这是公共的镜像仓库,下面我们去了解私有的镜像仓库

     

     

     

     

     

     

     

     

     

     

    新建文件: 

     

     

     复制进去命令:

     执行docker-compose命令:

    进行访问:

     

     

    查看现有的镜像:

     

     打包重命名:重命名docker镜像,以镜像仓库地址为前缀

     查看:

    上传镜像到本地仓库:

     

    刷新浏览器:多了一个镜像

     

    拉取的时候点击:

     

    拉取之前先进行删除:

     

    执行拉取命令: 

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    docker到底能在哪些平台安装?
    OpenStack学习笔记(二)
    如何安装React的第一个脚手架
    1 随机事件与概率
    【学习笔记】border与period
    全面解析:Foxit Reader支持的操作系统及其特性
    Kotlin高仿微信-第55篇-同步数据
    visual studio code配置anaconda3的python虚拟环境
    Java 常用类(包装类)
    C++ 核心编程(2)
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/127771873