docker 介绍
docker 介绍
安装
- sudo apt-get install docker.io
- sudo docker info 查看是否安装成功
hello world
sodu docker run hello-world
执行这个命令的时候干了如下几个事情:
- docker引擎 CLI client 和 daemon 引擎发生交互
- daemon 从docker hub 拉“hello-world” 镜像
- daemon 创建一个新的容器来作为执行环境
- deamon 告诉 CLI client 相关的执行返回,让其在终端打印出来
我们可以在 https://hub.docker.com 找到更多镜像。
以上我们有几种概念:
- docker client, 用户界面, 支持永和和docker daemon的同学
- docker daemon 运行主机上, 出来服务器请求
- docker index 中央registry, 支持共有和私用的docker容器镜像备份
三个要素:
- 容器
- 镜像
- 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 用来描述镜像的信息。按如下步骤就可以使用镜像:
mkdir mydockerbuild
cd mydockerbuild
vim Dockerfile
写下如下, 保存并关闭
FROM tomcat:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay
其中
- FROM 说明这个镜像是基于哪个镜像的
- RUN 增加 “fortunes ”到镜像中, “fortunes ”能够打印出更友好的话。
从 Dockerfile中编译出镜像
docker build -t docker-whale .
这样就可以使用自己的新镜像了,当然我们可以把他Push到hub.docker中。
总结
很久以前, 我就想一个软件配置玩了以后是不是可以直接在其他电脑中使用。 但是很不幸,自动化的配置非常的困然。 现在docker 竟然用虚拟化的技术实现了软件的配置像代码一样, git, push,get ,share。 真是爽。
docker 介绍的更多相关文章
- Docker介绍基本概念(一)
Docker介绍基本概念 1.什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker是世界领先的软件容器平台. Docker使用 ...
- Docker 介绍及安装
Docker介绍 Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). Docker基于go语言并遵从Apache2.0协议 ...
- Docker应用一:docker介绍
Docker介绍与安装 一.Docker与传统虚拟化区别 直接看下图: 传统虚拟化实现架构 doc ...
- Docker介绍及安装
Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- docker介绍和简单使用
docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...
- docker介绍和安装(一)
虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...
- Docker介绍及安装(一)
一.Docker简介 1.1 docker介绍 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的cgroup,namespace,以及 AUFS 类的 ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- docker 介绍及安装操作
docker 介绍及安装操作 1.docker概述 2.docker安装及操作 1.docker概述: Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源 是在L ...
随机推荐
- 【ORACLE】特殊的NULL
NULL 是数据库中特有的数据类型 Oracle 中对空的描述 nullAbsence of a value in a column of a row. Nulls indicate missing, ...
- tableview 位置发生偏移
状况描述:1.首次进入该界面时正常 2.push了新的界面后,再返回该界面 tableview和导航栏直接出现了间隔区域 tableview为代码创建 _tableView = [[UITableV ...
- 阿里云分布式关系数据库DRDS笔记
1.Join左边的表查询数据越少,性能越好 2.广播表作为Join的驱动表 3.SQL的Limit优化 SELECT * FROM t_order o WHERE o.id IN ( SELECT i ...
- comebotree树
comebotree树: java: @RequestMapping(value="/combobox.do") public @ResponseBody String combo ...
- [IOS] 利用@IBInspectable
某些uiview中设置 这个关键字 IBInspectable 可以让其设置的属性,在右侧的属性栏目里面进行直接设置, 这是最近看了一下wwdc的一个视频学习到的,可以方便的进行 UI的测试,
- Learn ZYNC (2)
AXI HP接口的DMA+GIC编程(参照博客) 参照文档:UG873,博客文档 参考设计代码文件:ug873源码 我的Vivado+SDK工程文件打包(60+M) 我的DMA驱动程序(已完成) Vi ...
- 安卓中級教程(8):pathbutton中的animation.java研究(1)
src/geniuz/myPathbutton/myAnimations.java package geniuz.myPathbutton; import java.util.ArrayList; i ...
- 使用 PHP 内置函数 get_browser() 判断是否是移动浏览器
get_browser — 获取浏览器具有的功能.该函数通过查找 browscap.ini 文件中的浏览器信息,尝试检测用户的浏览器所具有的功能. 由于许可证的问题,PHP 未提供浏览器功能文件,可以 ...
- .net web 小基累
获取当前网站的根目录:HttpContext.Current.Request.PhysicalApplicationPath+“Content”
- pt-table-checksum和pt-heartbeat的使用
一.pt-table-checksum 1.主从上均新建账户GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksum'@' ...