Docker学习笔记
一.Docker是什么?
Docker是为了解决运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
1.Docker与传统虚拟机的对比
Docker容器是在操作系统层面上实现了虚化,直接复用本地主机的操作系统,而传统虚拟机则是在硬件层面实现虚拟化,与传统虚拟机的资源占用大、冗余步骤多,启动慢相比Docker启动速度更快,占用体积小。
2.Docker的优势
- 轻量,秒级的快速启动速度
- 简单、已用、活跃的社区
- 标准统一的打包/部署/运行方案
- 镜像支持增量分发,易于部署
- 易于构建,良好的RESTAPI,也适合自动化测试与持续集成
- 性能,尤其是内存和IO的开销
二.Docker安装
Docker并非是一个通用容器工具,它依赖于已存在并运行的Linux内核环境。Docker实质就是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等于所部署的Linux主机。因此,Docker必须部署在Linux内核的系统上,如果其他系统想部署Docker必须安装一个Linux的虚拟机环境。
1.Docker的基本组成
Docker的基本组成:镜像(image)、容器(container)、仓库(repository)
2.Docker镜像文件
Docker镜像(image)就是一个只读的模版,镜像可以用来创建Docker的容器,一个镜像可以创建多个容器(不同的镜像创建不同的容器)。Docker镜像文件类似于JAVA的类模版,而Docker容器实例类似于JAVA中new出来的实力对象
3.Docker容器
一个容器运行一个服务,当我们需要的时候,可以通过Docker客户端创建一个对应的运行实例,也就是容器
4.Docker仓库
Docker仓库分为公开仓库和私有仓库
最大公开仓库就是https://hub.docker.com/
Docker仓库就是存放一堆镜像文件的地方,可以吧镜像文件放入仓库储存,需要的时候可以从仓库里面拉下来。
5.在Centos7上安装Docker
根据实际情况发现Centos7相比较Centos8更加稳定。Centos7可以使用yum等终端指令
具体安装步骤观看Docker官网文档:https://docs.docker.com/engine/install/centos/#installation-methods
三.Docker常用指令
1.拉取镜像:docker pull centos:centos7
(这里指令一般可以前往Docker仓库查看)
2.查看本地镜像文件: docker images
3.运行容器: docker run -itd --name centos-test centos:centos7
4.查看所有容器:docker ps -a
5.启动已停止的容器:docker start <ConTALNER ID>
6.在大部分情况下,Docker是在后台运行,那么在后台运行容器(-d是指定运行模式):docker run -itd --name centos-test centos:centos7
7.停止容器:docker stop <ConTALNER ID>
8.重启容器:docker restart <ConTALNER ID>
9.进入容器(这里不介绍docker attach方法,因为用此指令在推出后台后会导致容器停止):docker exec -it <ConTALNER ID> /bin/bash
10.导出本地某个容器:docker export <ConTALNER ID> > centos7.tar
- 导入容器快照:可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
12.删除容器:docker rm -f
13.运行WEB应用:docker run -d -p 5000:5000 training/webapp python app.py(容器内部的 5000 端口映射到我们本地主机的 5000 端口上)
14.查看本地运行的容器:docker ps