docker基本概念

Doker借鉴集装箱运货物的思想,让开发人员将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何运行Docker容器引擎的环境中,以容器方式来运行该应用程序。

Docker为应用程序的开发、发布和运行提供一个基于容器的标准化平台。容器运行的是应用程序,Docker平台用来管理容器的整个生命周期。

Docker可以将应用程序与基础设施分离开来,便于实现软件的快速交付。

容器通过运行镜像启动。镜像是一个可执行的软件包,其中包含运行应用程序时所需的一切资源——代码、运行时、库、环境变量和配置文件。

构建镜像通常要创建一个Dockerfile文件来指定创建该镜像并运行它所需的全部步骤。

容器是镜像可运行的实例,运行中的容器是位于内存中且有状态的镜像,本质上是一个用户进程。

镜像是用于创建Docker容器的只读模板,容器是从镜像创建的运行时实例

从应用程序的角度看,镜像是应用程序生命周期的构建和打包阶段,而容器则是启动和运行阶段

二,Docker引擎:

三,Docker生态系统

核心技术:

Runtime(运行时)为容器运行提供底层的运行环境,Docker引擎支持容器管理,docker hub支持镜像的存储和发布

支持技术:

包括docker网络,存储,安全等技术。

平台技术:

Docker Swarm Ku'be'rnetes等容器平台技术提供容

四,部署微服务应用:

每个微服务对应有开发,测试,生产三套环境

Docker实现开发,测试和生产环境的统一化和标准化,大大简化了这些环境部署的步骤

在微服务架构中有些服务负载压力答,需要以集群方式部署,使用虚拟机代价非常大。改用docker容器部署,同样的物理机则能支持上千个容器。

Json格式:

名称空间的概念:名称空间又称命名空间,是对全局系统资源的一种封装隔离技术,

联合文件系统:docker引擎使用联合文件系统的多种变体:AUFS,OverlayFS,Btrfs,BFS和deviceMapper等。联合文件系统是实现docker镜像的技术基础,docker镜像可以通过分层进行继承。

五,Docker版本分类:

社区版:CE 

企业版:EE

六,Doker配置文件格式:

YAML格式语法特点:

  1. YAML大小写敏感
  2. 使用缩进表示层级关系
  3. 缩进只能使用空格,不能使用tab键,不要求空格个数,但是相同层级应当左对齐。
  4. 使用符号 “#”表示注释,YAML中只有行注释。
  5. 字符串可以不用引号标注。
  6. 每个 “.”与它后面所跟的参数之间都需要有一个空格。
  7. YAML文件可以由一个或者多个文档组成,并用 “---”符号分隔。

七,YAML的数据表示

标量

序列

- Google

- Baidu

映射

firstName: Bill

lastName: Gates

嵌套

manager:

    firstName: Bil

lastName: Gates

八,Docker中YAML格式的应用:

Docker容器编排和Docker堆栈部署用到compose文件。

Compose文件是文本文件,采用YAML格式,可以使用.yml或者.yaml扩展名。

用于容器编排时,compose文件定义整个应用程序。

用于堆栈部署时,compose文件定义应用程序所包含的服务,依赖的密码,卷等资源,以及他们之间的关系。

九,镜像操作命令:

Docker build      从dockerfile构建镜像

Docker history    显示镜像的历史记录

 

Docker inspect    显示一个或多个镜像的详细信息

 

Docker load      从tar档案文件或STDIN装载镜像

Docker images    输出镜像列表

如上图所示:

Docker pull       从注册服务器拉取镜像或镜像仓库

 

Docker push      将镜像或镜像仓库推送到注册服务器

Docker rmi       删除一个或多个镜像

Docker save      将一个或多个镜像保存到tar文档

上图演示过:

Docker tag       为指向源镜像的目标镜像添加一个名称

同上:

Docker hub登录: docker login

登录

Docker export    将容器导出为归档

Docker import    将容器导入的归档包导入为镜像(与export成对使用)

十,进一步理解容器的概念:

容器是只从镜像创建的应用程序运行实例

镜像:静态的定义

容器:镜像运行的实体

十一,容器的基本信息与标识

1,容器id:容器的唯一标识是容器id,采用uuid的形式表示

2,在容器操作过程中,通常采用前12个字符的缩略形式。

十二,容器名称:

  1. 可以使用容器名称来代替容器id对容器进行操作,在默认的桥接网络中,必须使用容器名称连接网络。
  2. 容器名称默认是docker自动生成的一个随机名称。
  3. 可以使用docker reename命令为现有的容器重命名。

可写容器层:

容器和镜像的主要不同之处是容器顶层的可写层

十三,docker状态:

up

        docker start

        docker run

        docker restart

Exited

        docker stop

        容器运行异常

paused

        docker pause

十四,端口映射:-P 随机端口映射(默认32768)

查看容器详细信息:docker ps -a --no-trunc

查看运行脚本如下将运行的脚本复制到执行的命令中:(以/bitnami/nginx为例)

命令格式:docker run -itd -P bitnami/nginx /opt/bitnami/scripts/nginx/entrypoint.sh /opt/bitnami/scripts/nginx/run.sh

就可以进行访问:ip地址:端口号

-p

Docker run -itd -p 80:8080 bitnami/nginx /opt/opt/bitnami/scripts/nginx/entrypoint.sh /opt/bitnami/scripts/nginx/run.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值