Docker 是一个开源的应用容器引擎,基于 Go 语言 并听从Apache2.0协议开源。docker
Docker 可让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。数据库
容器是彻底使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。json
Docker的应用场景vim
Docker 的优势
一、简化程序:
Docker 让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,即可以实现虚拟化。Docker改变了虚拟化的方式,使开发者能够直接将本身的成果放入Docker中进行管理。方便快捷已是 Docker的最大优点,过去须要用数天乃至数周的 任务,在Docker容器的处理下,只须要数秒就能完成。oop
二、避免选择恐惧症:
若是你有选择恐惧症,仍是资深患者。Docker 帮你 打包你的纠结!好比 Docker 镜像;Docker 镜像中包含了运行环境和配置,因此 Docker 能够简化部署多种应用实例工做。好比 Web 应用、后台应用、数据库应用、大数据应用好比 Hadoop 集群、消息队列等等均可以打包成一个镜像部署。性能
三、节省开支:
一方面,云计算时代到来,使开发者没必要为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思惟定势。Docker 与云的结合,让云空间获得更充分的利用。不只解决了硬件管理的问题,也改变了虚拟化的方式。测试
安装Docker环境并启动第一个docker容器(使用的是Ubuntu环境)大数据
apt-get update # 安装最新版本 wget -qO- https://get.docker.com/ | sh # 启动docker服务 service docker start # 指定运行的镜像,docker首先从本地主机查找镜像是否存在,若是不存在,从镜像仓库下载公共镜像 docker run hello-world
修改镜像的资源及开启虚拟内存限制云计算
# 镜像加速 # vim /etc/docker/daemon.json 没有就建立一个,添加内容: { "registry-mirrors": ["http://hub-mirror.c.163.com"] } # 修改配置支持swap限制 vim /etc/default/grub # 添加配置 GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" # 更新grub后重启系统 update-grub reboot