Docker基础
Docker
什么是虚拟机?
虚拟机:顾名思义,是一种虚拟的机器。他可以模仿一个完整的操作系统,还原一个完整的系统环境。他是在一个操作系统中运行另一种操作系统,比如在Windows系统中,运行一个UOS系统,或者在Debian中运行Windows,当然前者占多数。应用程序对虚拟机毫无感知,因为虚拟机跟真实的操作系统一模一样,对于真实系统的来言,虚拟机也是一个应用程序,是一个文件。可以随时删除,却不影响其他的无关环境。
什么是Linux容器?
Linux容器不是一个模拟一个完整的系统环境,而是对进程进行隔离,是对在正式环境中的进程进行隔离保护。容器里面的事务,接触的任何事务都是虚拟的。从而实现与真实环境进行隔离。相对于虚拟机来说,容器有几大优势
- 体积小:
容器只会用到需要的文件以及组件,不需要的东西不会加载在容器中。但是虚拟机是对整个操作系统进行打包。容器相当于一个轻量级别的虚拟机,能够提供虚拟化后的环境。 - 启动快
容器里面的应用,相对于真实系统来说就是一个进程,而不是虚拟机内部的进程。所以,启动容器就相当于启动一个进程,所以速度快。 - 占用资源少
容器只占用需要的资源,不占用没有用到的资源。而虚拟机是完整的系统,所以必然会占用到所有的资源。另外,容器间可以共享资源,虚拟机只能独享资源。
什么是Docker?
Docker是属于Linux容器的一种封装,提供简单易用的容器使用接口。Docker将应用和应用的依赖打包到一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在容器里面运行,就像运行在真实环境中一样。
Docker的用途
Docker 的主要用途,目前有三大类。
- 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
- 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
- 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在一台机器就可以模拟出微服务架构。
Docker的安装
- 在UOS下:
sudo apt-get install docker-ce docker-ce-cli containerd.io等待安装结束 - 确认docker安装成功安装,
sudo docker run hello-world,这个命令会下载一个测试镜像,并且运行它,结果如图所示:

也可以输入docker info或者docker version确认是否安装成功,结果如图所示:


- docker是服务器-客户端架构,在运行docker之前,要确保服务端已经开启docker服务。
可以使用如下命令查看:sudo service docker status # 查看服务状态 sudo service docker start # 开启服务 sudo service docker stop # 停止服务
image文件
docker将应用程序以及依赖,打包成image文件。只有通过image文件,才能生成Docker容器,image文件可以看作是容器的模板。image是二进制文件,而且是通用的。不同的机器可以使用同一个image文件。我们通常自己会对已经存在的image文件进行修改,以此来达到我们自己的需求。已经存在的image文件大部分会上传到官方仓库Docker Hub中
Docker常用命令
docker image ls # 查看所有image镜像
docker container run imageName # 从image文件,生成正在运行的容器
docker image rm imageName # 删除指定的镜像
docker container ls # 查看所有的正在运行的容器
docker containner ls -a # 查看所有的容器,包括未运行的容器
docker container kill containID # 停止正在运行的容器
用户加入docker组(不用每次都输入sudo)
1. cat /etc/group # 查看用户组,是否存在docker组,如果存在,则忽略第2步
2. sudo groupadd docker # 创建docker 用户组
3. sudo usermod -aG docker $USER #将当前的用户加入到docker组
4. sudo systemctl restart docker # 重启docker服务
5. newgrp - docker #更新用户组

浙公网安备 33010602011771号