Docker 学习笔记
目的
最近为了做 csapp 的大作业,需要在 mac 上使用 Linux,但是又不想安装庞大的虚拟机,想到了使用 docker,正好趁此机会学习一下 docker
参考资料
bilibili 狂神说 docker 教程
Docker 简介
传统:开发 Jar,运维来做
现在:开发打包部署上线,一套流程做完。
-
Docker 通过隔离机制,将服务器利用到极致。
-
mysql 集群,redis 集群部署,使用 docker 十分方便
Docker 历史
2010 年,几个年轻人在美国成立 dotCloud,做 paas 云计算服务(plantform as a service)
他们将容器化技术命名为 Docker,起初没有引起行业注意,公司无法生存。2013 年他们决定开源 docker。越来越多人发现 docker 的优点。
docker 为什么火?
相对于虚拟机,非常轻量,基于 Go 语言开发
-
虚拟机:windows-Vmware,mac- parallels,通过虚拟机软件虚拟出来一台电脑或者多台电脑
-
容器:创建镜像(最核心的环境+jdk+mysql),几个 M 就够了
虚拟机缺点:
kernel ->Lib -> app
- 资源占用多
- 启动慢
docker:
-
kernel ->容器(Lib->app)
-
容器的应用直接运行在数组环境中,容器没有自己的内核,所以轻便
-
每个容器间相互隔离,都有自己的文件系统
文档地址:https://docs.docker.com
DevOps(开发,运维):
- 应用更快速的交付和部署,docker 打包镜像发布测试
- 更便捷升级和扩缩容
- 更简单的系统运维
- 更高效的计算资源利用,一个物理机可以运行很多容器实例
Docker 的基本组成:
Image:一个模版,通过改模版创建容器服务
Container:项目往 container 里面放
Repository:存放 image 的地方