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)
- 查看镜像 docker images镜像名
- 搜索镜像 docker search镜像名
- 下载(拉取)镜像 docker pull 镜像名
- 创建启动容器 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为导入或下载的镜像名称
- 镜像删除 docker rmi镜像名 (数为镜像的id或者镜像名)
- 启动容器 docker satrt 容器名或ID
- 启动docker服务工具 systemctl start docker.service
- 查看所有镜像生成的容器 docker ps –a
- 删除容器 docker rm容器名或ID
- 容器的备份、恢复;导出和导入
- 将容器保存为镜像(生成镜像快照)
docker commit –p 旧容器名称或容器id 新生成的容器名称
举例:docker commit mynginx mynginx_i mynginx为旧 mynginx_i为新
- 镜像备份(导出)
docker save -o mynginx.tar mynginx_i
解析:-o 表示输出保存的意思output;mynginx.tar保存文件的名称与后缀;mynginx_i 需要保存的镜像名称;保存在了root文件夹下
- 镜像恢复(导入)
docker load -i mynginx.tar
注:恢复原有镜像时,需要停止、删除已生成的容器,再删除旧的镜像,此时可导入新的镜像恢复
解析:-i 表示输入 input;mynginx.tar 表示备份的镜像名称;docker images 查看mynginx_i镜像已经恢复
5)save保存镜像 (load与其对应)、export导出容器(import与其对应),
- docker save保存的是镜像,docker export保存的是容器
- docker save会保留镜像所有的历史记录,docker export不会,即没有commit历史
- docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
- docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称