美文网首页
docker简介

docker简介

作者: pilisiyang | 来源:发表于2019-11-18 14:21 被阅读0次

docker介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。
然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。

docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。


docker的安装

  • 安装docker的所需条件: 需要64位架构系统和Linux3.10以上内核,推荐在Ubantu下安装,docker是基于Ubantu开发的
  • 添加docker官方apt软件源

/etc/apt/sources.list.d/docker.list deb deb https://apt.dockerproject.org/repo ubuntu-trusty main

  • 添加成功后更新apt软件包缓存

$ sudo apt-get update

  • 安装docker

$ sudo apt-get install –y docker-engine

  • 启动docker后执行

docker run ubuntu:15.10 /bin/echo “Hello world“

查看是否成功安装

docker的构成

  • Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板。

  • Docker 容器(Container)

容器是独立运行的一个或一组应用。

  • Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。

  • Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

  • Docker 仓库(Registry)

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

  • Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

如何创建docker镜像

现在docker官方共有仓库里面有大量的镜像,所以最基础的镜像,我们可以在共有仓库直接拉取,因为这些镜像都是原厂维护,可以得到即使的更新和修护。

  1. 编写Dockerfile

我们如果想去定制这些镜像,我们可以去编写Dockerfile,然后重新bulid,最后把它打包成一个镜像.

  1. Commit镜像

当然还有另外一种方式,就是通过镜像启动一个容器,然后进行操作,最终通过commit这个命令commit一个镜像,但是不推荐这种方式.

首先,如果在安装软件,编译构建,那会有大量的无关内容被添加进来,如果不小心清理,将会导致镜像及其臃肿。

此外,使用docker commit 意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为黑箱镜像。

而且,任何修改的结果仅仅是在当前层进行标记,添加,修改,而不会改动上一层。

如果使用docker commit制作镜像,以及后期修改的话,每一次修改都会让镜像更加臃肿一次,所删除的上一层的东西并不会丢失,会一直如影随形的跟着这个镜像,即使根本无法访问到,这会使镜像更加臃肿。

Dockerfile

Dockerfile是一个包含用于组合映像的命令的文本文档。
可以使用在命令行中调用任何命令。
Docker通过读取Dockerfile中的指令自动生成映像。
docker build命令用于从Dockerfile构建映像。
可以在docker build命令中使用-f 标志指向文件系统中任何位置的Dockerfile。

Dockerfile 一般分为四部分:

  • 基础镜像信息
  • 维护者信息
  • 镜像操作指令
  • 容器启动时执行指令

docker的分层概念

image.png
这是一个Ubuntu镜像,可以看到镜像分成很多个layer,都有自己的大小和ID,最终这个镜像是由他们layer组合而成,并且这个镜像它是只读的,它不能往里面写数据,如果想写数据怎么办呢?

我们会在镜像上启一层contain layer,其实就是相当于把镜像启动成一个容器,那么在容器这一层,我们是可写的。

dockerfile指令

指令 解释
FROM 指定使用哪个镜像源
RUN 执行命令并创建新的镜像层,通常用于安装软件包
COPY 复制文件指令 COPY <源路径>...<目标路径> COPY ["<源路径1>",...<目标路径>]
ADD 更高级的复制文件指令 能复制URL 资源,自动解压tar 包
CMD 容器启动命令 只执行最后一条CMD
ENTRYPOINT 入口点 指定容器启动程序及参数,将CMD 的内容作为参数传给 ENTRYPOINT
ENV 设置环境变量
ARG 构建参数 ARG 所设置的环境变量,在将来容器运行时是不会存在的
VOLUME 定义匿名卷
EXPOSE 声明端口 仅声明容器提供服务端口,并不会与宿主机映射 -p <宿主端口>:<容器端口>
MAINTAINER 镜像创建者

相关文章

  • <Docker 1> Docker入门知识和安装方式

    页内导航 Docker简介 Docker安装支持平台DesktopCloudServer Docker简介 这里本...

  • Docker-Compose学习

    原文连接 一、Docker-Compose简介 1、Docker-Compose简介 Docker-Compose...

  • Docker之docker简介

    Docker之docker简介

  • Docker使用

    Docker Docker简介 简介: Docker[docker.com] 是一个开源的应用容器引擎,基于 Go...

  • Docker容器安装多节点PbsPro

    [TOC] Docker容器安装-多节点PbsPro 1 简介: 1.1 Docker简介 Docker 是一个开...

  • Docker

    Docker Docker简介 -- Docker Engine Docker Engine 也就是我们常说的 "...

  • Docker 之 HAProxy + Django + Redi

    Docker 简介 Docker子命令分类 Docker 命令结构 Docker Architecture Ins...

  • 01.Docker 简介

    Docker 简介 什么是 Docker 官网地址:https://www.docker.com/ Docker ...

  • Docker培训

    学习参考资料 一、Docker简介 1、简介 2、Docker的应用场景 3、Docker 的优点 3、docke...

  • 1. Docker简介

    最近开始学习Docker这个虚拟容器技术, 决定把学习过程记录下,先来记录下Docker的简介。 Docker简介...

网友评论

      本文标题:docker简介

      本文链接:https://www.haomeiwen.com/subject/zitbictx.html