1、Docker 的基本组成包括:
Docker 的基本组成包括:
Docker 客户端 - Client
Docker 服务器 - Docker daemon
Docker 镜像 - Image
Registry
Docker 容器 - Container
2、docker架构:
Docker 采用的是 Client/Server 架构(程序自身是一个C/S架构),C端为docker client(docker客户端),它和S端通信,而S端为docker demon叫守护进程,守护进程能够提供所为的两套环境:一是容器运行时环境,以便去运行容器;二是提供本地镜像存储环境;我们要想运行容器,需要在docker demon所在的主机叫docker_host主机,本地必须能够存储镜像,docker客户端与服务器之间通过HTTP/HTTPS协议通讯的。Docker提供restful风格的api(RESTful是一种分布式应用程序api调用的开发风格和规范)。
当使用docker build或者docker run去创建一个容器时,这个容器必须要基于某个镜像来创建,所以docker_daemon收到指令就会在本地的镜像存储空间(image)找到一个同名的镜像,如果能找到这个镜像就会启动容器,如果本地镜像存储空间没有这个镜像就会临时启动一个redis,如果redis没有,docker_daemon会联系Registry(叫仓库的仓库,或者是仓库的集散地,Registry内部放着很多仓库,就是镜像仓库,每一个镜像仓库通常只用来放同一个镜像的不同版本;比如有一个mysql的镜像仓库 是指mysql从最初开始可能有5.0版本的mysql、5.1的或者5.2的等等,这样说明同一个应用程序的不同版本会组成一个仓库,用户可以使用任何一个版本,而Registry内部可以放各种各样的应用程序的仓库,所以叫仓库的仓库)你当前Registry放了哪些应用程序的仓库,Registry会有一个索引,当每一次用户来访问时我们要快速查询到Registry,比如用户访问mysql仓库,我们得先查索引看是否有如果没有会把查询结果返回给客户端,如果有,会根据用户所指定得版本号(docker中叫镜像标签)从这个仓库中找出符合匹配用户标签的镜像然后通过协议传递到docker_daemon所在得主机存储到本地的镜像存储服务中。注意:docker虽然是C/S架构,但是默认运行时,docker的客户端与服务器运行在同一个主机上。
2、安装docker
3、docker常用的命令总结
docker search: 查找镜像
docker pull: 拉取镜像,下载镜像
docker image:查看本地镜像
docker create:创建容器
docker start <容器ID>: 启动已停止的容器
docker run: 运行一个容器
docker attach:用来连接到正在运行中的容器
docker exec: 用来在运行的容器中执行命令
docker ps: 查看容器列表
docker logs: 获取容器的日志
docker restart <容器ID>: 重启一个容器
docker stop <容器ID>: 停止容器运行
docker kill: 杀死正在运行的容器
docker rm -f <容器ID>: 删除容器
Ctrl+P+Q :退出而不关闭容器