=================================================
转载:http://www.runoob.com/docker/docker-architecture.html
=================================================
Docker
(百度百科)Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
所以docker是个容器,这个容器里面存放的是应用。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。 容器与镜像的关系类似于面向对象编程中的对象与类。
Docker中一些重要的概念
- 容器 — 对象
- 镜像 — 类
- Docker 镜像(Images) — Docker 镜像是用于创建 Docker 容器的模板。
- Docker 容器(Container) — 容器是独立运行的一个或一组应用。
- Docker 客户端(Client) — Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。
- Docker 主机(Host) — 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
- Docker 仓库(Registry) — Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
常用命令:
镜像相关:
- docker search xxx : 查询镜像
NAME:镜像仓库源的名称
DESCRIPTION:镜像的描述
OFFICIAL:是否docker官方发布 - docker images :列出本地主机上的镜像。
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小 - docker build : 构建镜像
- docker tag : 为镜像添加标签
- docker pull xxx : 载入镜像
- docker rmi <image id> : 移除镜像
容器相关
- docker run xxx : 运行容器,后面可跟-d,-p。
-d:让容器在后台运行。
-P:容器内部端口随机映射到主机的高端口。
-p:容器内部端口绑定到指定的主机端口。
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-v : 挂在主机目录到容器。-v $PWD/db:/data/db - docker stop xxx : 停止容器
- docker port xxx : 指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。
- docker logs [ID或者名字] : 查看容器内部的标准输出。
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。 - docker top xxx : 查看容器内部运行的进程。
- docker inspect xxx : 查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
- docker start xxx : 启动停止的容器。
- docker rm xxx : 删除不需要的容器。
- docker ps : 查看在运行的容器
-l:查询最后一次创建的容器: - docker commit : 提交容器副本。
-m:提交的描述信息
-a:指定镜像作者