什么是docker?
刚上大学的时候同学们经常谈论某某CPU,多少核,显卡如何如何。。。。。曾几何时硬件厂家在各自堆配置博眼球。现在,云时代,大数据时代。虚拟化技术广泛应用在现实环境中。IBM,HP等各大IT巨头从动辄千万大型机,小型机,上百万的存储。CISCO,JUNIPER等网络厂商动辄上千万的模块高端交换机。到现在xen,kvm,sdn,ceph的虚拟化技术出现。最近又兴起的容器技术。虚拟化完全可以通过硬件模拟提供用户的上层应用,并且是更快更简单更傻瓜的形式。
来历
Docker是go语言在2013年开源的项目。Google已公布在paas产品中广泛应用docker,包括微软、亚马逊都提供对docker的支持。Docker实现的是对应用的一次封装到处运行的目的,这里的应用可以是web应用、编译环境、数据库、操作系统、集群等等。Docker对于应用开发提供一站式解决方案。
为什么能潮起来
在云时代,开发者的应用必须快速便捷的在网上传播。应用必须脱离底层限制,这正是docker所体现的价值。比如传统的web应用可能需要安装linux,mysql,php等组件,安装系统配置用户,安装软件修改配置文件,,,,,调试,,,发布。如果应用迁移将要再次重复安装,调试,发布。这是运维人员非常苦恼的。
有什么作用
Docker可以快速交付部署、高效利用资源、轻松迁移扩展、更新便捷。
Docker与虚拟机又有很多不同支持,介于时间原因在此不在过多介绍本次重要介绍docker网络工作原理。
Docker出现以后在网上经常会出现一些这样的名词,镜像,容器,仓库等下面简短熟悉下他的重要概念跟常用操作
重要概念
镜像:类似虚拟机镜像就是一个只读模板,镜像是创建容器的基础,通过版本控制和增量的文件系统可以简单创建和更新镜像。也可以直接在网上下载别人做好的应用镜像。
容器:类似一个沙箱,docker利用容器运行和隔离应用。容器从镜像创建的应用运行,可以启动,开始,停止,删除。容器间是隔离的。
仓库:类似代码仓库,就是docker镜像存放的地方
安装最新版:curl -fsSL https://test.docker.com/ | sh
Windows10根mac联系:广琳科技
Docker常用操作
镜像操作
下载应用镜像:docker pull
Docker pull name[:tag]
国外下载较慢,广琳科技给你介绍几个国内的快速镜像仓库
Docker pull hub.c.163.com/public/ubuntu:17.04
查看镜像信息:docker images
添加镜像标记:docker tag oldname newname
查看镜像详细信息:docker inspect name
查看镜像创建历史:docker history name
寻找远程仓库镜像:docker search name
删除镜像:docker rmi name +f强行删除
创建镜像:
1基于现有镜像:docker commit id newtag
2基于本地模板导入:docker import – name
3基于dockerfile:
导出镜像:docker save -o oldname newname
导入镜像:docker load < name
上传镜像到仓库:docker push oldname 仓库[name]
容器操作
新建容器:docker create name
创建时可以搭配很多参数如,主机名与ip映射,dns,环境变量,主机名,ip地址,mac地址,限制CPU,硬盘吞吐量,权限等等
启动容器:docker start name
启动时可以搭配很多参数,如别名,挂载卷,工作目录,使用端口,输出日志等等
查看运行的容器:docker ps
直接新建并运行容器:docker run name
守候状态运行容器:docker run -d name
退出容器:ctrl+d或exit
终止容器:docker stop name
进入容器:
不行了,明天接着更新重头戏网络虚拟化!!!
学习云计算网络始终是个坑,openvswitch,ovs等等
Docker之网络解密
广琳科技持续为你更新