Docker 镜像制作 服务编排 私有仓库

Docker

  • Nginx部署
  • Redis部署
  • Dockerfile
  • 镜像制作
    • 容器转为镜像
    • dockerfile
  • Docker服务编排
    • Docker Compose
    • Docker Compose安装
    • 使用docker compose编排nginx+springboot项目
  • Docker私有仓库
    • 私有仓库搭建
    • 将镜像上传至私有仓库

Nginx部署

案例:需求
在Docker容器中部署Nginx,并通过外部机器访问Nginx。

实现步骤:
1.搜索Nginx镜像
2.拉取Nginx镜像

在这里插入图片描述
3.创建容器
Docker 镜像制作 服务编排 私有仓库_第1张图片
Docker 镜像制作 服务编排 私有仓库_第2张图片
4.测试访问

Redis部署

Docker 镜像制作 服务编排 私有仓库_第3张图片


Dockerfile

思考:
Docker镜像的本质是什么?
是一个分层文件系统
Docker中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个G?
Centos的iso镜像文件包含bootfs和rootfs,而docker的centos镜像复用操作系统的bootfs,只有rootfs和其他镜像层
Docker中一个tomcat镜像为什么有50OMB,而一个tomcat安装包只有70多MB?
由于docker中镜像是分层的,tomcat虽然只有70多MB,但他需要依赖于父镜像和基础镜像,所有整个对外暴露的tomcat镜像大小500多MB

Linux文件系统由bootfs和rootfs两部分组成
Docker 镜像制作 服务编排 私有仓库_第4张图片

  • bootfs:包含bootloader (引导加载程序)和kernel (内核)
    rootfs: root文件系统,包含的就是典型Linux系统中的/dev,/proc,/bin,/etc等标准目录和文件
    不同的lintx发行版,bootfs基本一样,而rootfs不同,如ubuntu, centos等
    Docker镜像是由特殊的文件系统叠加而成
    最底端是bootfs,并使用宿主机的bootfs
    第二层是root文件系统rootfs,称为base image·然后再往上可以叠加其他的镜像文件
    统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。
    一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像成为基础镜像。

    Docker 镜像制作 服务编排 私有仓库_第5张图片

镜像制作

Docker镜像如何制作?

容器转为镜像

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

dockerfile

Dockerfile是一个文本文件
包含了一条条的指令
每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像
对于开发人员:可以为开发团队提供一个完全一致的开发环境
对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了
对于运维人员:在部署时,可以实现应用的无缝移植


Docker服务编排

微服务架构的应用系统中一般包含若千个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大。
要从Dockerfile build image或者去dockerhub拉取image
要创建多个container
要管理这些container (启动停止删除)

服务编排:按照一定的业务规则批量管理容器

Docker Compose

Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。使用步骤:
1.利用Dockerfile定义标行环境镜像
2.使用docker-compose.yml定义组成应用的各服务
3.运行docker-compose up启动应用

Docker 镜像制作 服务编排 私有仓库_第6张图片

Docker Compose安装

Docker 镜像制作 服务编排 私有仓库_第7张图片
Docker 镜像制作 服务编排 私有仓库_第8张图片

使用docker compose编排nginx+springboot项目

Docker 镜像制作 服务编排 私有仓库_第9张图片
Docker 镜像制作 服务编排 私有仓库_第10张图片
Docker 镜像制作 服务编排 私有仓库_第11张图片
Docker 镜像制作 服务编排 私有仓库_第12张图片
Docker 镜像制作 服务编排 私有仓库_第13张图片

Docker私有仓库

Docker官方的Docker hub (https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的私有仓库来存储和管理自己的镜像。

私有仓库搭建

第一步:拉取私有仓库镜像
在这里插入图片描述
第二步:启动私有仓库
在这里插入图片描述
第三步:打开浏览器输入地址http://私有仓库服务器ip: 5000/v2/_catalog,看到{ “repositories” :[]}表示私有仓库搭建成功
Docker 镜像制作 服务编排 私有仓库_第14张图片
第四步:修改daemon.json
Docker 镜像制作 服务编排 私有仓库_第15张图片
第五步:重启docker服务
在这里插入图片描述

将镜像上传至私有仓库

第一步:标记镜像为私有仓库的镜像
在这里插入图片描述
第二步:上传标记的镜像
在这里插入图片描述

你可能感兴趣的:(模块学习,docker,linux,运维)