欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Docker容器如何使用

程序员文章站 2022-06-19 10:03:59
案例远洋运输:保证产品安全同时要高效完成运输运输方案:将汽车,香蕉,钢琴,玻璃杯等产品装入集装箱,然后将集装箱装入各种货运船只什么是容器:容器是一种轻量级、可移植、自包含的软件打包技术;是应用程序可以在几乎任何地方以相同的方式运行。开发人员创建并测试好的容器,无需任何修改就可以在生产环境的系统(物理机、虚拟机、云主机)上运行。为什么需要容器:案例:1.容器化部署:......

一、概述

1.案例

远洋运输案例:生活案例

  1. 需求:远洋运输以下商品,要求保证产品安全同时要高效完成运输
    Docker容器如何使用
  2. 西瓜问题:
    汽车放在了西瓜上,钢筋放在了玻璃杯上,汽车放在了钢琴上,是有放在了服务器上…
  3. 运输方案:
    将汽车,香蕉,钢琴,玻璃杯等产品装入集装箱,然后将集装箱装运到港口码头,将集装箱状图货运船只完成运输。
    Docker容器如何使用Docker容器如何使用

服务开发运行案例:实际工作案例

  1. 需求:在服务器上完成一个普通的web项目的部署,该项目同时使用到了缓存和数据库;后期服务会有扩展可能。
    Docker容器如何使用
  2. 西瓜问题:
    部署web服务需要安装jdk,tomcat/jetty等服务,如果忘记将导致服务无法启动…
  3. 原始化部署方案:
    1).单机部署方案
    Docker容器如何使用
    2).集群化部署
    Docker容器如何使用3). 其他问题:
    A.服务安装问题:安装jdk,tomcat,nginx,redis,mysql等服务繁琐且容易出错,案例
    B.资源占用问题:硬件资源浪费
    C.服务扩展问题:服务集群化扩展困难,风险高。
  4. Docker部署方案
    1).单应用版部署方案
    Docker容器如何使用

2).集群部署方案:
Docker容器如何使用
3).docker对问题的解决
A.服务安装问题:容器初始化安全,简单,快捷。案例
B.资源占用问题:可以充分利用硬件资源,避免硬件资源浪费
C.服务扩展问题:服务集群化扩展简单,风险低。

2.容器

什么是容器:

Docker容器如何使用

  1. 容器定义:
    容器是一种轻量级、可移植、自包含的软件打包技术;是应用程序可以在几乎任何地方以相同的方式运行。开发人员创建并测试好的容器,无需任何修改就可以在生产环境的系统(物理机、虚拟机、云主机)上运行。
  2. 容器特性
    A. 打包技术:可以将任何软件和依赖打包进一个容器中。
    B. 可移植:不需要修改就可以在所有平台上使用(前提是目标及其安装了docker engine)
    C. 高效化:能够快速启动和迁移
    D. 隔离性:资源、网络、库等都是隔离的,不会出现依赖问题。
    E. 方便管理:提供了针对容器的run、start、stop等标准化操作,方便自动话和管理。
    F. 分工明确:开发只注重业务开发,运维只注重基础的环境管理。

为什么使用容器

  1. 开发人员
    创建一次运行环境,打包成容器(镜像)后就可以在任何地方运行了。
  2. 运维人员
    只要配置好标准的running(部署了docker engine)环境,就可以运行开发人员开发的任何容器;这对运维人员来说工作变得一致,可重复,同时也意味着高效。

容器工作方式

  1. 参与容器工作的元素
    Docker客户端:Docker Client
    Docker服务器:Docker daemon
    镜像文件仓库:Registry
    Docker镜像:Image
    Docker容器:Container
  2. 各个元素之间的关系
    镜像仓库负责保存开发人员打包好的镜像(image);
    容器是根据镜像创建而来;
    运维人员通过Docker Client发送命令给Docker Daemon来从镜像仓库中下载镜像,然后根据镜像创建和管理Docker container。
  3. Docker架构图
    Docker容器如何使用

容器部署部署架构

  1. 部署架构
    Docker容器如何使用
  2. 容器部署架构和虚拟机部署架构区别
    A. 硬件资源充分利用;
    B. 轻量化,快速启动和迁移
    Docker容器如何使用

二、镜像

1.镜像和容器关系

容器是运行在服务器中的实际存在的实例,容器是根据镜像创建而来,镜像中定义了容器中所运行的有的软件和依赖。

2.镜像内部结构

基础镜像

  1. linux操作系统
    Linux操作系统由内核空间和用户空间组成,各发行版版的操作系统(如Ubuntu/CentOS/Debian)都是用户空间不同,内核空间是一样的。
    Docker容器如何使用
  2. Docker版操作系统镜像
    A.Docker镜像分为基础镜像和其他镜像,其他镜像以基础镜像为基础扩展而来;
    B.Docker基础镜像就是各种Linux发行版的Dockder镜像;
    Docker容器如何使用
  3. 二者区别
    A.Docker版镜像只有200多兆
    B.正式发行版系统至少有1G
    Docker容器如何使用
    C. Docker基础镜像提供的是最小安装的Linux发行版(如/dev、/proc、/bin)
    D. 其他发行版在此基础上还选装了很多软件、服务、图形化等工具。
    Docker容器如何使用

镜像分层

  1. Docker分层结构

Docker支持通过扩展现有镜像,创建新的镜像(实际上Docker Hub中99%的镜像都是基于base镜像扩展而来),没安装一个软件,就在现有镜像之上叠加一层。

FROM debian
RUN apt-get install emacs
RUN apt-get install apache2
CMD ["/bin/bash"] 

Docker容器如何使用
2. 分层优点:共享资源

镜像构建

镜像分发

三、容器

创建运行容器

容器操作:
启动、停止、和重启、pause、unpause、删除容器
容器状态

容器资源限制:
内存、CPU、IO

容器底层技术:cgroup和namespace

四、网络

单机:
网络类型:
none、host、bridge、user-defined

容器间通信:
IP通道、Docker DNS Server、joined容器

容器与外部通信:
容器访问外部,外部访问容器;

五、Docker存储

Data Volume
Data Volume 生命周期管理

其他:
stroage driver、数据共享、Volume container、Data-packed volume container

六、多主机管理

多主机安装、管理

多机网络:
overlay
libnetwork & CNM、macvlan、fiannel、weave、calico、
各种网络比较

七、容器监控

Docder自带监控
prometheus监控,
其他监控

八、日志管理

本文地址:https://blog.csdn.net/weixin_41909330/article/details/107458574

相关标签: docker