Docker基础

Docker

什么是虚拟机?

虚拟机:顾名思义,是一种虚拟的机器。他可以模仿一个完整的操作系统,还原一个完整的系统环境。他是在一个操作系统中运行另一种操作系统,比如在Windows系统中,运行一个UOS系统,或者在Debian中运行Windows,当然前者占多数。应用程序对虚拟机毫无感知,因为虚拟机跟真实的操作系统一模一样,对于真实系统的来言,虚拟机也是一个应用程序,是一个文件。可以随时删除,却不影响其他的无关环境。

什么是Linux容器?

Linux容器不是一个模拟一个完整的系统环境,而是对进程进行隔离,是对在正式环境中的进程进行隔离保护。容器里面的事务,接触的任何事务都是虚拟的。从而实现与真实环境进行隔离。相对于虚拟机来说,容器有几大优势

  1. 体积小:
    容器只会用到需要的文件以及组件,不需要的东西不会加载在容器中。但是虚拟机是对整个操作系统进行打包。容器相当于一个轻量级别的虚拟机,能够提供虚拟化后的环境。
  2. 启动快
    容器里面的应用,相对于真实系统来说就是一个进程,而不是虚拟机内部的进程。所以,启动容器就相当于启动一个进程,所以速度快。
  3. 占用资源少
    容器只占用需要的资源,不占用没有用到的资源。而虚拟机是完整的系统,所以必然会占用到所有的资源。另外,容器间可以共享资源,虚拟机只能独享资源。

什么是Docker?

Docker是属于Linux容器的一种封装,提供简单易用的容器使用接口。Docker将应用和应用的依赖打包到一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在容器里面运行,就像运行在真实环境中一样。

Docker的用途

Docker 的主要用途,目前有三大类。

  1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
  3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在一台机器就可以模拟出微服务架构。

Docker的安装

  1. 在UOS下:
    sudo apt-get install docker-ce docker-ce-cli containerd.io 等待安装结束
  2. 确认docker安装成功安装,
    sudo docker run hello-world ,这个命令会下载一个测试镜像,并且运行它,结果如图所示:

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

  1. 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   #更新用户组
posted @ 2021-03-27 14:01  Hiraly  阅读(63)  评论(0)    收藏  举报