现在Docker部署已经是比较成熟的方式,如果你不了解Docker基本知识就会(kuai)格(bei)格(tao)不(tai)入(le)。所以跟你分享阅读《第一本Docker书》后的必知Knowledge。
1. Docker简介
2. Docker 入门
3. 在测试中使用Docker
5. 使用Docker API
Docker简介
HV(Hypervisor Virtualization)管理啊程序虚拟化通过中间层将一台或多台独立的机器虚拟运行于物理硬件之上,而容器则是直接运行在操行系统内核之上的用户空间。因此容器虚拟化也被成为“OS级虚拟化”,容器技术可以上多个独立的用户空间运行在同一台宿主机上。由于“客居”于OS,容器只能运行与底层宿主机相同或相似的OS
Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。由Docker公司(前dotCloud公司-PasS市场的老牌提供商)的团队便携,基于Apache2.0 开源授权协议发行。
Docker在虚拟化的容器执行环境中增加了一个应用程序部署引擎。该引擎的目标就是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。Docker极其简介,它所需的全部环境只是一台仅仅安装了兼容版本的Linux内核和二进制文件最小限的宿主机。
- 提供一个简单、轻量的建模方式
- 职责的逻辑分离
- 快速的、高效的开发生命周期
- 鼓励使用面向服务的架构
Why Docker?
Docker组件
- Docker引擎
- Docker镜像
- Registry
- Docker容器
Docker可以帮用户构建和部署容器,用户只需要把自己的应用程序或者服务打包放进容器即可。
Docker安装
- MacOS :https://docs.docker.com/docker-for-mac/install/
- Windows : https://docs.docker.com/docker-for-windows/
Docker 入门
Docker容器
sudo docker top daemon_dave #查看守护式容器的进程
sudo docker stats daemon_dave #显示一个或多个容器的统计信息
sudo docker exec -d daemon_dave touch /etc/new_config_file #在容器内部额外启动新进程,有2中类型:后台任务和交互式任务。后台任务在容器内运行且没有交互需求,而交互式任务则保持在前台运行。
sudo docker exec -t -i daemon_dave /bin/bash #-it 标志我们执行的进程创建了TTY 并捕捉STDIN。
#停止正在运行的Docker容器
sudo docker stop daemon_dave
sudo docker stop containerID
Docker镜像
Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统,即bootfs,类似于Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导文件系统有什么交互。实际上,当一个容器启动后,它将会被移到内存中,而引导文件系统则会被卸载(unmount)以留出更多的内存供initrd磁盘镜像使用。
==============================Demo===================================================
==============================Demo===================================================