docker入门
2016-07-14 20:20
423 查看
Docker入门
docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。(摘自百度百科)自己的理解:为什么要用docker
业务分离,比如一个项目中有文件服务器,webUI,Nginx负载均衡和反向代理,其他服务。可以将各个业务分别部署到一个单独的docker容器中,镜像也是分别维护,各自独立。横向扩展,比如文件服务器或者其他服务需要扩展,只需要多起几个相同的容器,进行相关配置,即可满足增加的需求。当负载变低时,又可以将多余的容器停止。
部署方便,使用k8s(kubernetes)对各个业务容器分别部署,各自有独立的配置文件,配置脚本。维护镜像也是独立的。
Docker安装
CentOS6
yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm yum install docker-io
CentOS7(库中已带Docker)
yum install docker
启动Docker
service docker start chkconfig docker on
Docker三个基本概念
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。镜像
Docker镜像就是一个只读模板,一般是在一个操作系统的基础上,只安装了某一个应用。Docker镜像用来创建Docker容器。容器
Docker容器是运行应用的环境,从镜像创建的实例。(就像根据类new一个对象一样,根据镜像run一个容器),容器实际上就是一个精简的Linux环境,只有少量的应用程序。仓库
仓库是存放镜像文件的场所,可以使用公共的仓库,也可以使用本地自己建立的仓库。每个仓库中存放这多个镜像,每个镜像有id、tag等属性。和git一样上传使用push命令,获取使用pull命令。Docker常用命令
功能 | 命令 |
---|---|
获取镜像 | docker pull 镜像地址 |
上传镜像 | docker push 镜像 |
创建容器 | docker run -it 镜像 命令(/bin/bash等) |
显示镜像 | docker images |
保存镜像到本地 | docker save -o 目标文件 |
往镜像中导入文件 | docker load –input 文件 |
在启动的容器中添加应用 | gem install 应用名,然后exit,然后docker commit提交新的镜像,可以跟-m描述信息,-a指定用户信息 后面跟上源镜像的id(需要预先记住) |
移除docker镜像 | docker rmi 镜像(需要预先删除依赖于该镜像的容器docker rm 容器) |
启动终止的容器 | docker start 容器 |
终止启动的容器 | docker stop 容器 |
查看容器中的进程 | docker ps |
查看容器输出信息 | docker logs 容器 |
利用dockerfile创建镜像
新建一个dockerfile,包含多条指令:From指令告诉Docker基于哪个镜像来创建新的镜像
Maintainer Docker 指定维护者信息
Run 跟shell命令
编写完dockerFile之后,可以使用docker build来生成镜像
docker build -t=”tag信息” dockerfile的路径
相关文章推荐
- centos6.5上安装docker
- docker容器的网络信息查看
- 简单易懂云计算(转自天涯感谢原楼主iamsatisfied)
- 2011云计算知识库:盘点千奇百怪的云名称
- openstack kilo-with-dokcer
- 学习VMware虚拟化技术
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 在Docker中自动化部署Ruby on Rails的教程
- 搭建基于Docker的PHP开发环境的详细教程
- Docker容器的Tengine实践
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦
- 再Docker中架设完整的WordPress站点全攻略
- 基于 Docker 开发 NodeJS 应用
- 使用Docker来加速构建Android应用的基本部署思路解析
- 在Docker上部署Python的Flask框架的教程
- 在Docker上开始部署Python应用的教程