1.解决的问题

由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上时需要进行大量的环境配置和操作。

  • Docker主要解决环境配置的问题;是一种虚拟技术;

2.与虚拟机的比较

  • 启动速度
    启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;
    而启动Dokcer相当于启动宿主系统上的一个进程;

  • 占用资源:docker只是一个进程,只需要将应用及相关的组件打包。

3.优势

更容易迁移
更容易维护:使用分层技术和镜像;
更容易扩展:可以使用基础镜像进一步扩展为新的镜像;

4.使用场景

持续集成、提供可伸缩的云服务、搭建微服务架构;

5.镜像与容器

镜像是一种静态结构,可以看成面向对象的类;而容器是镜像的一个实例;

  • 镜像包含着容器运行时所需要的代码及其它组件,它是一种分层结构,每一层都是只读的;构建镜像时,会一层一层的构建,前一层是后一层的基础。
  • 构建容器时,通过在镜像的基础上添加一个可写层;用来保存着容器运行过程中的修改;

6.docker常用命令

命令描述
service docker start(restart、stop)启动、重启、停止
docker -i -t ubuntu:15.10 /bin/bash通过-i(允许对容器的标准输入进行交互) -t (指定一个终端)参数让docker运行的容器实现按对话
docker start ID或NAMES启动容器
docker exec -it容器ID/名称 /bin/bash进入容器,-i让容器对输入保持打开,-t分配一个终端;
docker eport 容器ID/名称 > 文件名导出容器
cat 文件名 管道符 docker import - 生成镜像的名称:标签使用容器新建镜像;
docker export -o 导出保存的新名 容器名-o 以文件的形式
sudo docker load < /home/user/导出保存的新名(.tar)镜像加载
docker images列出本主机上的镜像
docker search httpd从Docker Hub网站上搜索镜像
docker build -t 创建目标镜像名构建镜像

待补充…

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐