1、docker介绍:

1)Docker 是一个开源的应用容器引擎,基于go语言开发,可以将开发的应用以及依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化;容器是使用沙箱机制,相互之间不会有任何接口。

docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)

 

2)docker应用流程简要步骤:

第一步:先安装docker容器工具(yum安装或源码编译)

第二步:通过docker工具下载或导入相应的镜像(镜像如nginx、cetos系统)

第三步:通过docker工具命令,将镜像生成容器并启动

第四步:经过docker工具命令(docker exec –ti 容器名 /bin/bash),进入容器中,开始后续操作。

 

3)docker命令(镜像名如nginx、centos)

  1. 查看镜像 docker images镜像名
  2. 搜索镜像 docker search镜像名
  3. 下载(拉取)镜像 docker pull 镜像名
  4. 创建启动容器  docker run

举例:docker run -dit –privileged --name nginx01 -v /dep:/dep -p 80:80 nginx

-v 是docker目录挂载,冒号左边是本地目录,右边是docker内目录

-p 是docker端口映射,冒号左边是本地端口,右边是docker内端口

--name nginx01 生成容器名称为nginx01,nginx为导入或下载的镜像名称

 

  1. 镜像删除  docker rmi镜像名  (数为镜像的id或者镜像名)
  2. 启动容器  docker satrt 容器名或ID
  3. 启动docker服务工具  systemctl start docker.service
  4. 查看所有镜像生成的容器  docker ps –a
  5. 删除容器  docker rm容器名或ID

 

  1. 容器的备份、恢复;导出和导入
  2. 将容器保存为镜像(生成镜像快照)

docker commit –p 旧容器名称或容器id 新生成的容器名称

举例:docker commit mynginx mynginx_i       mynginx为旧 mynginx_i为新

  1. 镜像备份(导出)

docker save -o mynginx.tar mynginx_i

解析:-o 表示输出保存的意思output;mynginx.tar保存文件的名称与后缀;mynginx_i  需要保存的镜像名称;保存在了root文件夹下

  1. 镜像恢复(导入)

docker load -i mynginx.tar

注:恢复原有镜像时,需要停止、删除已生成的容器,再删除旧的镜像,此时可导入新的镜像恢复

解析:-i 表示输入 input;mynginx.tar 表示备份的镜像名称;docker images 查看mynginx_i镜像已经恢复

 

5)save保存镜像 (load与其对应)、export导出容器(import与其对应),

  1. docker save保存的是镜像,docker export保存的是容器
  2. docker save会保留镜像所有的历史记录,docker export不会,即没有commit历史
  3. docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
  4. docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称