在网上找的一篇 非常详细的Docker笔记
1.什么是Docker?
比较喜欢Docker老版本官网的经典又直白的介绍及其Slogan:
"Docker - Build, Ship, and Run Any App, Anywhere"。
Docker是一个开源的引擎,可以为任何应用创建一个轻量级的,可以移植的,自给自足的容器。
开发者在笔记本上测试通过的容器可以批量的在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStark集群和其它的基础应用平台;
系统架构
总体架构图
搞软件开发的人喜欢研究系统架构,下图为Docker的总体架构图:
优势:
启动速度快,通常小于1秒
资源利用率高,一个PC可以跑上千个容器
性能开销小
面向软件开发者而非硬件运维
轻便,移植性高
Docker基于LXC的改进
提供了简洁易用的命令行和API
使用Go语言开发,吸引开源社区关注
基于联合文件系统的镜像分层技术,加上在线Docker Hub服务,容器迁移方便快捷
一个容器只包含一个进程的微服务架构
2.Docker的应用场景
web应用的自动化打包和发布;
自动化测试和持续集成、发布;
在服务型环境中部署和调整数据库或其他的后台应用;
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境;
3.准备
Docker系统有两个程序:docker服务端和docker客户端;
docker服务端是一个服务进程,管理着所有的容器;
docker客户端扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程;
大部分情况下,docker服务端和docker客户端运行在同一台机器上;
4.检查docker版本
用来确认docker服务在运行并可通过客户端连接;
在终端输入docker命令查看所有的参数;
正确命令:docker version 查看docker版本 windows
5.搜索docker可用镜像
命令:docker search 镜像名称;
docker search CentOS
docker search ubuntu
6.使用docker下载镜像
docker pull 镜像名称
7.在docker容器中运行Hello world
docker run 镜像名称 echo "Hello world"
8.在容器中安装新的应用程序
在ubuntu中安装ping程序:通过ubuntu的apt-get install -y ping;
learn/tutorial 是基于 ubuntu的;
在使用apt-get命令的时候,要带上-y参数,如果不指定-y参数,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但是在docker中是无法响应这种交互的;
docker run 镜像名称 apt-get install -y ping
9.保存对容器的修改
通过 docker ps -l 获得安装完ping命令之后的容器的id;
然后运行docker commit查看该命令的参数;