• 黑马学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镜像,以镜像仓库地址为前缀

     查看:

    上传镜像到本地仓库:

     

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

     

    拉取的时候点击:

     

    拉取之前先进行删除:

     

    执行拉取命令: 

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    MySQL表的增删改查(进阶)
    在非IOS系统打开HEIC格式图片
    分类常用的神经网络模型,深度神经网络主要模型
    操作系统原理实验四:管道通信、消息通信程序
    大数据学习1.5-单机Hadoop
    左神高阶进阶班4 (尼姆博弈问题、k伪进制、递归到动态规划、优先级结合的递归套路、子串的递归套路,子序列的递归套路,动态规划的压缩技巧)
    车载电子电器架构 —— 智能座舱技术范围(万字长文精讲)
    从元宇宙到Web3.0,“新赛道”的职场人该怎么找工作?
    20221122非累加的m3u8的ts切片列表的补全步骤
    论文研读2——对抗样本(Adversarial Example)综述(2021版)
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/127771873