1、Docker介绍linux
一、docker介绍
git
Docker 是一个开源的应用容器引擎,基于 Go 语言 并听从Apache2.0协议开源。docker
Docker 可让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。数据库
容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app),更重要的是容器性能开销极低。centos
二、docker应用场景服务器
>Web 应用的自动化打包和发布。微信
>自动化测试和持续集成、发布。架构
>在服务型环境中部署和调整数据库或其余的后台应用。app
>从头编译或者扩展示有的OpenShift或Cloud Foundry平台来搭建本身的PaaS环境。ide
三、Docker的优势
一、更快的交付和部署:
使用docker 开发人员可使用镜像来快速构建一套标准的开发环境;开发完成以后,测试和原味人员能够直接使用彻底相同的环境来部署代码,只要开发测试过的代码,就能够确保在生产环境无缝运行。docker能够快速建立和删除容器,实现快速迭代,大量节约开发、测试、部署的时间
二、更高效的资源利用:
docker 容器底层的管理程序支持,他是内核级的虚拟化,能够实现更高级的性能,同事对资源的额外需求很低
3、更轻松的迁移和扩展:
docker容器几乎能够再任意的平台上运行,包括物理机、虚拟机、公有云、私有云、我的电脑、服务器等,同事支持主流的操做系统发行版本。这种兼容性让用户能够再不一样平台之间轻松地迁移应用
四、对比KVM
docker容器很快,启动和中止能够再秒级实现,而传统的虚拟机须要数分钟
docker容器对系统资源需求不多,一台主机上能够同时运行数百甚至上千个docker容器
docker 经过相似于git的设计理念的操做来方便用户获取、分发和更新应用镜像,存储复用,增量更新
docker经过dockerfile支持灵活的自动化建立和部署机制,提升工做效率,使流程标准化
五、docker的特性
Docker的三大特性为BUILD(构建)、SHIP(运输)、RUN(运行)。(一次构建多处运行,像不像JAVA呢)。docker是传统的CS架构分为docker client和docker server,主要分为三大组件 镜像(image)、容器(container)、仓库(Repository)。
2、安装docker
安装官方文档介绍,进行安装 https://docs.docker.com
centos为例安装ce社区办,若是是在centos7版本如下的,不能安装ce,只能安装其余的旧版本。
一、操做系统
centos7
二、卸载老版本
$sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
三、安装第三方库
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
四、安装docker-ce
yum install docker-ce
五、启动docker
$ sudo systemctl start docker
六、测试hello world
sudo docker run hello-world [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dde0582befd3 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago lucid_jang