名词解释

  • 镜像:想让docker运行软件必须先有镜像,Docker将应用程序和其依赖、环境、配置等等文件打包一起,称为镜像。
  • 容器:
    • 基于镜像,运行起来就是容器,运行软件,做隔离。
    • 一个镜像可以运行多个容器。
  • 镜像中心:通过镜像中心下载镜像来使用。一般来说不需要自己做镜像,可以下载镜像
  • 数据卷:

    docker的作用?为什么会有docker?

  • 更简单的系统运维

    • 在容器化之后,我们的开发,测试环境都是高度一致
  • 更便捷的升级和扩缩容
    • 使用了Docker之后,我们部署就像搭积木一样
    • 项目打包为一个镜像
  • 应用更快速的交付和部署
    • 传统:一堆帮助文档,安装程序
    • Docker:打包镜像发布测试,一键运行
  • 更高效的计算机资源利用
    • ker是内核级别的虚拟机化,可以在一个物理机行运行很多的容器实例,服务器的性能可以达到极致

Docker和传统虚拟机的不同?

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机内容,容器是没有自己内核的也没用虚拟我们的硬件,所有就轻便了
  • 每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响

Docker的常用命令

  • 容器

    • docker exec 进入容器执行命令
    • docker logs查看运行日志
    • docker ps 查看所有运行的容器和状态
    • docker rm 删除制定容器
    • docker run 运行容器
    • docker pause 暂停运行
    • docker unpause 继续
    • docker start 开始
    • docker stop 停止
    • docker save -o [保存的目标文件名称] [镜像名称] 保存镜像
    • docker save -o nginx.tar nginx:latest 导出镜像
    • docker load 加载镜像
    • image.png
    • docker rmdocker ps -a -q 删除全部容器
    • docker rmidocker images -q`` 删除全部镜像
    • docker exec -it mn bash 进入容器image.png
    • exit退出容器

      数据卷

  • 什么时候数据卷可以挂载?

    • 当创建容器时可以挂载,其他情况不允许
  • 两种挂载方式?

    • 数据卷挂载 (被docker管理)
    • 目录挂载 (没有被docker管理)
  • 如何数据卷挂载?

    • docker run --name mn -p 80:80 -d -v html:/usr/share/nginx/html nginx
    • 如果数据卷不存在,会自己创建
  • 查看数据卷的详细信息
    • docker volume inspect html
    • `docker volume prune删除所有未使用的数据卷