Docker入门介绍

1. Docker

在这里插入图片描述

Docker是一个开发平台,用于开发应用、交付应用、运行应用。

Docker允许用户将基础设施中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。

Docker容器与虚拟机类似,但两者的原理不同。容器是将操作系统层虚拟化,虚拟机是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。容器更多的用于软件的一个标准化单元。

由于容器的标准化,因此它可以部署到任何一个地方。

Docker利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心名字空间(namespaces),来创建独立的容器。

2. 基础架构

Docker引擎

Docker引擎是一个服务端-客户端结构的应用,主要有这些不好:Docker守护进程、Docker Engine API,Docker客户端。

  • Docker守护进程(也叫dockerd),是一个持久化的进程,用户管理容器。守护进程会监听Docker Engine API的请求。
  • Docker Engine API,是用于与Docker守护进程交互用的API。
  • Docker客户端,也叫docker,大部分用户与Docker交互的主要方式。用户通过客户端将命令发送给守护进程。

Docker注册中心

Docker注册中心(Docker registry)是用于存储Docker的镜像。

对象

Docker的对象是指Images、Containers、Networks、Volumes、Plugins等等。

  • 容器 是镜像的可运行的实例。容器可通过API或CLI(命令行)进行操控;
  • 镜像是一个只读模板,用于指示创建容器。
  • 服务允许用户跨越不同的Docker守护进程的情况下增加容器,并将这些容器分成管理者和工作者。

3. 文件格式

Docker有两种文件格式,Dockerfile 和 Compose file。Dockerfile定义了单个容器的内容和启动时候的行为。Compose file定义了一个多容器应用。

Dockerfile

Docker可以依照Dockerfile的内容,自动化地构建镜像。Dockerfile是包含用户想要如何构建镜像的所有命令的文本。

FROM ubuntu:18.04
COPY ./app
RUN make /app
CMD python /app/app.py

关键词:

  • RUN. RUN 会在当前镜像的顶层上添加新的一层(layer),并在该层上执行命令,执行结果将会被提交。提交后的结果将会用于Dockerfile的下一步。
  • ENTRYPOINT,入口点。ENTRYPOINT允许你配置容器,使之成为可执行程序。即,ENTRYPOINT允许你为容器增加一个入口点。
  • CMD用于为已创建的镜像提供默认的操作,当不想要用默认操作时候,可用docker run IMAGE[:TAG|@DIGEST][COMMAND]进行替换。

Compose文件

Compose文件是一个YAML文件,定义了服务、网络、卷。

  • **服务(service)**定义各容器的配置,定义内容将命令行参数的方式传给docker run命令。
  • 网络(network),将定义内容给docker network create命令。
  • 卷(volume),将定义内容传给docker volume create命令。

docker run命令中有一些选项,和Dockerfile文件中的指令效果一样(如:CMD,EXPOSE,VOLUME,ENV)。

Compose文件可使用Shell变量(Variable)。

4. 网络

Brige

在Docker里,网桥网络使用的是软件形式的网桥。使用相同的网桥的容器进入该网络,而非该网络的容器刷故无法接入。

bridge 是网桥驱动,是Docker默认的网络驱动(接口名为 docker0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值