docker 介绍

安装

  1. sudo apt-get install docker.io
  2. sudo docker info 查看是否安装成功

hello world

sodu docker run hello-world

执行这个命令的时候干了如下几个事情:

  1. docker引擎 CLI client 和 daemon 引擎发生交互
  2. daemon 从docker hub 拉“hello-world” 镜像
  3. daemon 创建一个新的容器来作为执行环境
  4. deamon 告诉 CLI client 相关的执行返回,让其在终端打印出来

我们可以在 https://hub.docker.com 找到更多镜像。

以上我们有几种概念:

  1. docker client, 用户界面, 支持永和和docker daemon的同学
  2. docker daemon 运行主机上, 出来服务器请求
  3. docker index 中央registry, 支持共有和私用的docker容器镜像备份

三个要素:

  1. 容器
  2. 镜像
  3. DockerFile

镜像和容器

在上面例子中, 我们指出了两个概念: 容器 和镜像

容器: 负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。

镜像: 运行在容器上。

一个镜像可以是非常简单的一个命令,也可以是非常复杂的软件系统(如数据库,tomcat), 这些镜像可以是别人创建的,然后你在使用。

很多人在创建镜像, 我们可以在https://hub.docker.com知道镜像。

docker run tomcat

就可以运行tomcat,如果本地不存在,则先从hub.docker中下载。

用: docker images 就可以查看本地安装了多少镜像

创建你自己的镜像

我们用

docker run docker/whalesay cowsay boo

其中 cowsay 是要运行的命令,后面的 boo 是参数

来使用whalesay的镜像,现在我们以之为基础来创建我们自己的镜像。

第一个 写Dokcerfile

Dokcerfile 用来描述镜像的信息。按如下步骤就可以使用镜像:

  1. mkdir mydockerbuild

  2. cd mydockerbuild

  3. vim Dockerfile

  4. 写下如下, 保存并关闭

    FROM tomcat:latest

    RUN apt-get -y update && apt-get install -y fortunes

    CMD /usr/games/fortune -a | cowsay

其中

  1. FROM 说明这个镜像是基于哪个镜像的
  2. RUN 增加 “fortunes ”到镜像中, “fortunes ”能够打印出更友好的话。

从 Dockerfile中编译出镜像

docker build -t docker-whale .

这样就可以使用自己的新镜像了,当然我们可以把他Push到hub.docker中。

总结

很久以前, 我就想一个软件配置玩了以后是不是可以直接在其他电脑中使用。 但是很不幸,自动化的配置非常的困然。 现在docker 竟然用虚拟化的技术实现了软件的配置像代码一样, git, push,get ,share。 真是爽。

docker 介绍的更多相关文章

  1. Docker介绍基本概念(一)

    Docker介绍基本概念 1.什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker是世界领先的软件容器平台. Docker使用 ...

  2. Docker 介绍及安装

    Docker介绍 Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). Docker基于go语言并遵从Apache2.0协议 ...

  3. Docker应用一:docker介绍

    Docker介绍与安装 一.Docker与传统虚拟化区别 直接看下图:                  传统虚拟化实现架构                                   doc ...

  4. Docker介绍及安装

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

  5. docker介绍和简单使用

    docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...

  6. docker介绍和安装(一)

    虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...

  7. Docker介绍及安装(一)

    一.Docker简介 1.1 docker介绍 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的cgroup,namespace,以及 AUFS 类的 ...

  8. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  9. docker 介绍及安装操作

    docker 介绍及安装操作 1.docker概述 2.docker安装及操作 1.docker概述: Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源 是在L ...

随机推荐

  1. 免费领取百度云盘2048G永久空间,永久离线下载特权

    百度云盘和360云盘之间的竞争可谓争锋相对,前段时间,百度和360就网盘免费都采取了自己的措施,最终,360一锤定音,直接免费送36T,并且如果你超过了36T的容量,还可以自动免费扩容! 可参看文章: ...

  2. css实现水平垂直居中

    一.单行文字居中: height: 100px;height: 100px;overflow: hidden; 二.多行内容居中(容器的高度不能固定): padding-top: 24px;paddi ...

  3. POST在发送数据的时候使用的是HTTP命令

    防止SQL注入 SQL(结构化查询语言)是基于美国国家标准学会(ANSI)标准,并作为共同的语言与数据库通信.每个数据库系统增加了一些专有功能到基本的ANSI SQL. SQL注入是一门将制作好的SQ ...

  4. SVM实践

    在Ubuntu上使用libsvm(附上官网链接以及安装方法)进行SVM的实践: 1.代码演示:(来自一段文本分类的代码) # encoding=utf8 __author__ = 'wang' # s ...

  5. Random随机类(11选5彩票)BigInteger大数据类(华为面试题1000的阶乘)

    先上Java Web图 为了简化叙述,只写Java代码,然后控制台输出 使用[Random类]取得随机数 import java.util.Random; public class Fir { pub ...

  6. web应用程序开发原理

    企业应用计算的演变为1.主机/哑终端的集中计算模式: 2.客户机/服务器计算模式:3.浏览器    /服务器计算模式.其中,1具有部署方面的优势,但在一台计算机中进行全部的处理,应用程序难于维护,难于 ...

  7. @Html.Raw()

    在用VS 2015写代码时,匹配邮箱的正则表达式 /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/​ @报错  主要因为 @是MVC里的关键字,所以不能直 ...

  8. RGB转YCbCr

    从RGB转换成YCbCr //  Purpose:      //          Save RGB->YCC colorspace conversion for reuse, only co ...

  9. rem的使用

    浏览器的默认字体高是16px. 兼容性: 目前,IE9+,Firefox.Chrome.Safari.Opera 的主流版本都支持了rem. 对于不支持的浏览器,要多写一个绝对单位的声明,这样浏览器就 ...

  10. 视觉机器学习笔记------CNN学习

    卷积神经网络是第一个被成功训练的多层神经网络结构,具有较强的容错.自学习及并行处理能力. 一.基本原理 1.CNN算法思想 卷积神经网络可以看作为前馈网络的特例,主要在网络结构上对前馈网络进行简化和改 ...