如有笔误,欢迎留言指正或讨论!

docker解决的痛点

一种新的技术的诞生,往往是解决某件事情的 痛点 、难点,我们先来了解一下,它究竟解决了什么问题?我们可以大致分为几个模块:

  1. 快速部署环境

    传统软件开发与发布环境复杂,配置繁琐,如:LAMP、LNMP。

  2. 虚拟化更加轻量级

    docker是一种操作系统级别的虚拟技术,运行在操作系统之上的用户空间,所有的容器共用 一个系统内核甚至公共库,容器引擎提供了进程级别的隔离,让每个容器就像运行在单独的系 统之上,但是又能共享很多底层资源,更加轻量快速和易于管理。

  3. 程序的可移植性


docker的三大核心组件

  1. 镜像

    镜像算是一个只读的静态模板,它保存了容器需要的环境和应用执行的代码,可以将镜像看成是容器的代码,代码运行起来后就成了容器,镜像和容器的关系也类似于程序和进程的关系。

  2. 容器

    容器是一个运行时环境,是镜像的一个运行状态,他是镜像执行的动态表现。

  3. 库是一个特定用户存储镜像的目录,一个用户可以建立多个库来保存自己的镜像。


docker应用场景

  • 一般前五个场景-最常用!

    1、加速本地开发

    2、自动打包和部署应用

    3、创建轻量私有的PaaS环境

    4、自动化测试 和 持续集成/部署

    5、部署并扩展Web应用、数据库 和 后端服务器

    6、创建安全沙盒

    7、轻量级的桌面虚拟化


docker 常用的命令

docker ps -a  xxxx         	查看运行中容器   | grep 容器名
docker images xxxx			查看所有镜像	| grep 镜像名
docker pull xxxx:1.1        拉去远端镜像
docker run xxxx            	运行容器 | --name容器名 -v挂在数据卷:/xxxx --volumes-from挂在父级容器数据卷 -e变量 -d镜像
docker logs xxxx          	查看容器输出日志
docerk exec -it xxxx sh		进入容器终端窗口
docker rmi xxxx				删除镜像
docker rm xxxx			    删除容器
docker composer 			运行docker-composer文件
docker build 				运行dockerFile文件  # --no cache -t Cname
docker local                导入镜像 | -i 指定导入文件 -q精简输出信息

docker start xxxx     启动容器
docker restart xxxx   重启容器
docker stop xxxx      关闭容器

docker数据卷