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