大背景介绍下:Docker是一个开源的应用容器引擎,也有人描述docker是一种linux容器管理引擎。Docker基于GO语言开发,遵循Apache2.0协议开源。Docker主要让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,实现虚拟化。
我个人了解Docker,觉得最形象的一句话是:打破'代码即应用'观念 从系统环境开始,自底至上打包应用。程序员只负责移交代码的时代会慢慢远去,站在交付人的角度,docker的这种交付方式更受欢迎。
什么人需要了解docker?我个人觉得更多的是运维以及后台开发人员的需求更大。当然感兴趣什么人都可以学习,我以前认识的一位朋友是英语老师,竟然在寒假学习Jquery。一个弄微商的朋友对区块链感兴趣,我当时震惊了,可能在当前时代,什么职业都避免不了学习网络知识。
docker的应用场景:
1、web应用的自动化打包和发布。
2、自动化测试核持续集成、发布。
3、在服务环境中部署核调整数据库或其他后台应用。
当然有人就会疑问docker与虚拟机有什么区别呢?这个问题的回答很简单:
docker,容器和虚拟机共享内核
虚拟机 ,宿主机OS上运行虚拟机OS
下面就写几个docker常用的命令:
docker ps 查看容器创建
docker images 查看镜像
docker inspect 364 查看容器进本信息
docker update 更新应用配置,例如内存限制 eg:docker update -m 100m 364
docker rm 364
docker exec -it 364 sh 从宿主主机到容器
exit 返回退出
docker build -t="lb:v1" .
docker events 监听所有docker状态
等等,docker的命令太多了,这些命令更多的是大家借助 -help命令去自己查询,看命令的具体含义,这是学习任何知识的基本技能。
PS:有一条命令也经常会用到:查看linux内核版本 cat /proc/version 或者 uname -a 因为docker 命令支持的是Linux 3.10以上内核版本。