1. Docker的组件
Docker是cs架构的(客户端和服务端)
1.1 镜像
镜像是一个只读的模板的组成的,是由多层的文件系统构成的联合文件系统,每层之间是有依赖关系的,这种设计的优势在于?
镜像是创建容器的前提,先有镜像再有容器,镜像可以直接从镜像仓库(注册中心)下载而来,也可以自定义创建而来,每个镜像的最底层是基础镜像,因此自定义镜像可以从最底层的镜像创建而来也可以从继承自基础镜像的子镜像创建其他镜像.
1.2 容器
容器就是用来部署应用程序的地方,可以将应用程序及应用程序运行所需要的基础环境部署到容器中,然后将容器迁移到其他的服务器上运行,从而解决了软件的跨环境迁移问题
容器是基于镜像创建而来的运行实例,意味着容器可以启动、停止、运行、删除等等操作
容器是在原来的镜像层的基础上增加了一层可读可写层,也是由镜像层继承而来,因此在该层上可以安装软件及软件运行所需的基础环境
Image跟Container的职责区别:Image负责APP的存储和分发,Container负责运行APP。
1.3 注册中心
下载镜像所在的地方就是注册中心,注册中心可以搭建仓库,仓库分为私有仓库和公共仓库,私有的仓库可以设置特定的用户下载或者特定的网络下载,公共仓库所有人都能下载,可以将本地的镜像push到仓库中,在另外的机器pull下载镜像文件,用来创建容器,运行容器
2 Docker的操作步骤
1:查找镜像
2:拉取镜像
3:创建容器
4:运行容器
5:停止/删除容器
3 镜像相关命令
3.1 搜索镜像
搜索方式:
1:hub.docker.com
2:命令搜索:docker search 镜像名称
3.2 拉取镜像
docker pull 镜像名称
3.3 查看镜像
docker images
可选参数:
| -a :列出本地所有的镜像(含中间映像层) |
| -q :只显示镜像ID。 |
| --digests :显示镜像的摘要信息 |
| --no-trunc :显示完整的镜像信息 |
3.4 删除镜像
删除单个镜像:docker rmi -f 镜像id或者镜像名称:tag
删除多个镜像:docker rmi -f 镜像id或者镜像名称:tag 镜像id或者镜像名称:tag
删除所有镜像:docker rmi -f $(docker images -q)
4 容器相关命令
镜像是创建容器的前提,现有镜像后有容器,因此操作容器的话,先下载镜像
4.1 查看容器
查看运行中的容器:docker ps
查看所有的容器:docker ps -a
查看最后一次运行的容器:docker ps -l
查看停止的容器:docker ps -f status=exited
4.2 容器的停止和启动
启动容器:docker start 容器id或者容器名称
重启容器:docker restart 容器id或者容器名称
停止容器:docker stop 容器id或者容器名称
容器不使用的时候可以停止掉
容器强制停止:docker kill 容器id或者容器名称
4.3 文件的拷贝
将宿主机的文件拷贝到容器中
docker cp 需要拷贝的文件或者目录 容器的名称:容器的目录
docker cp /tmp/test.log centos3:/tmp
可以将安装包从宿主机拷贝到容器中进行软件的安装操作
将容器中的文件拷贝宿主机中
docker cp 容器的名称:容器的目录 宿主机的目录
docker cp centos3:/tmp/test.log /export/
可以将容器中的数据文件拷贝到宿主机中,如果删除容器则容器中的数据同步删除,因此可以使用该功能备份数据



