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

Posted 杨宸杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 镜像制作 服务编排 私有仓库相关的知识,希望对你有一定的参考价值。

Docker

nginx部署

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

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


3.创建容器


4.测试访问

Redis部署


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两部分组成

  • 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镜像如何制作?

容器转为镜像


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 Compose安装


使用docker compose编排nginx+springboot项目





Docker私有仓库

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

私有仓库搭建

第一步:拉取私有仓库镜像

第二步:启动私有仓库

第三步:打开浏览器输入地址http://私有仓库服务器ip: 5000/v2/_catalog,看到 “repositories” :[]表示私有仓库搭建成功

第四步:修改daemon.json

第五步:重启docker服务

将镜像上传至私有仓库

第一步:标记镜像为私有仓库的镜像

第二步:上传标记的镜像

如何将本地docker 镜像上传到我的私有仓库

参考技术A docker越来越炙手可热,如果你的团队已经准备开始使用docker,那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度,其次也可以帮助你.你不想把镜像放到公共的
Docker
Registry
上...启动服务器之前,我们先上传
Ubuntu
cloud
ima.
参考技术B 准备开始使用docker,那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度,其次也可以帮助你存放私有的镜像,本文主要为大家介绍如何从公用服务器上讲开放的images备份到本地私

以上是关于Docker 镜像制作 服务编排 私有仓库的主要内容,如果未能解决你的问题,请参考以下文章

05-Docker仓库

黑马四Docker服务编排 & Docker私有仓库

黑马四Docker服务编排 & Docker私有仓库

Docker学习笔记 —— 镜像仓库制作(公有+私有+Harbor)

Docker学习笔记 —— 镜像仓库制作(公有+私有+Harbor)

Linux运维容器篇 docker私有仓库harbor生产搭建