Docker入门与实战讲解



Docker入门与实战讲解

简述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

Docker是什么? 

Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初是dotCloud公司发起。

Docker通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

为什么要用Docker?

更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。)

更轻松的迁移和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)

更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)

与传统虚拟机对比



场景示例-传统开发流程



场景示例-docker环境开发流程



Linux下安装docker程序

环境准备

  1Linux7以上或者cent OS6及以上版本

  2、内核3.1.0以上

  364位操作系统

安装docker

  1yum安装 yum install  docker-engine

  2curl脚本安装  



Docker命令用法→镜像

创建镜像   

  一、基于已有的镜像容器创建

          docker commit [options] container[repository]

         option:-a, --author=“” 作者信息

  -m,--message=“” 提交信息

  -p,  --pause=true 提交时暂停容器运行

  二、基于本地模板导入创建

          docker load < ***.tar  --本地模板文件tar

  三、基于Dockerfile文件构建镜像
          docker build –t image-name basedir





Docker命令用法→删除镜像

删除镜像   

  dockerrmi image

  dockerrmi –f image –强制删除镜像

  其中image可以为标签或者ID

注意:

  用dockerrmi删除镜像时,首先删除容器,再删除镜  像。 




Docker命令用法→容器

创建 |启动容器

docker  create image 创建的容器是停止状态

docker  start/stopcontainer_id启动/停止容器

docker  run image创建并启动容器

备注:image-可以为镜像标签或Id

 container_id为容器id


Docker数据卷→介绍

数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享。数据卷可以在多个容器之间共享。

       创建数据卷,只要在dockerrun命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数据卷了,而不管该容器是否运行。你也可以在Dockerfile中通过VOLUME指令来增加一个或者多个数据卷。

Docker基础命令用法总结



Docker-dockerfile构建镜像用法

介绍Dockerfile的基本语法结构Dockerfile有以下指令选项:

•FROM 

  FROM指定构建镜像的基础源镜像,如果本地没有基础镜像会从docker公共  库中下载镜像

•RUN

  RUN指令将在当前镜像基础上执行指定命令

•CMD

  CMD的目的是为了在启动容器时提供一个默认的命令执行选项。如果用户启  动容器时指定了运行的命令,则会覆盖掉CMD指定的命令

•EXPOSE

  Docker 服务端容器对外映射的本地端口,需要在dockerrun 的时候使用-p或  者-P选项生效

•ENV

  ENV指定一个环节变量,会被后续RUN指令使用,并在容器运行时保留

•ADD

  ADD复制本地主机文件、目录或者远程文件URLS从并且添加到容器指定路  径中,支持正则模糊匹配    

•COPY

   COPY复制新文件或者目录从并且添加到容器指定路径中 。用法同ADD,唯  一的不同是不能指定远程文件 URLS

•VOLUME

   VOLUME创建一个可以从本地主机或其他容器挂载的挂载点

•WORKDIR

   WORKDIR为后续的RUN、CMD、ENTRYPOINT指令配置工作目录。可以使  用多个WORKDIR指令,后续命令如果参数是相对路径,则会基于之前命令指  定的路径

DockerFile部署tomcat应用服务器





启动docker镜像

dockerrun –d –p 8080:8080 u-tomcat

-d --标示后台进程运行–p端口映射宿主8080→容器8080端口



出现上图所示表示启动成功,用http://ip:8080/访问,显示如图说明部署tomcat成功。



注意:

    1dockerfile构建镜像使用ADD指令复制文件到镜像    目录中 文件必须与dockerfile文件同目录。

    2dockerinspect -f “{{.Volumes}}”容器id 这里可   存放tomcat部署的war重启容器自动部署。

重启容  器命令:dockerrestart容器id


























版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/relax_hb/article/details/69668815
想对作者说点什么?  我来说一句
  • jun18752710535
    chen214123158 2018-05-08 14:01:39 #2楼
    写得太好了,必须赞一个
  • m0_37606574
    m0_37606574 2018-04-09 19:48:06 #1楼
    博主您好,您的这篇文章我可以转载吗?写的很好收藏一个
  • 上一页
  • 1
  • 下一页
6月起,深圳上班族可免费读成人大学,拿一年课程名校本科青学学历中心 · 顶新
Docker入门

Docker

qq_33466466 qq_33466466

2018-04-15 03:04:49

阅读数:163

快速去灰指甲,大部分人都不知道的神奇方法立奎 · 顶新
Docker技术入门实战+完整版+pdf扫描版

2017年09月29日 36.8MB 下载

docker 入门实战

2017年11月10日 12KB 下载

docker入门到实践 高清 文字版 pdf

2017年09月15日 5.51MB 下载

docker技术入门实战 完整版 pdf

2017年04月22日 47.1MB 下载

docker入门实战

2014年09月23日 424KB 下载

Docker技术入门实战 完整版47M

2016年09月13日 47.1MB 下载

Docker技术入门实战(第2版)

2017年07月12日 1.64MB 下载

没有更多推荐了,返回首页

个人资料

原创
8
粉丝
15
喜欢
16
评论
2
等级:
访问:
3万+
积分:
255
排名:
31万+
勋章:

最新评论

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
登录

Docker入门与实战讲解

简述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

Docker是什么? 

Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初是dotCloud公司发起。

Docker通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

为什么要用Docker?

更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。)

更轻松的迁移和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)

更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)

与传统虚拟机对比



场景示例-传统开发流程



场景示例-docker环境开发流程



Linux下安装docker程序

环境准备

  1Linux7以上或者cent OS6及以上版本

  2、内核3.1.0以上

  364位操作系统

安装docker

  1yum安装 yum install  docker-engine

  2curl脚本安装  



Docker命令用法→镜像

创建镜像   

  一、基于已有的镜像容器创建

          docker commit [options] container[repository]

         option:-a, --author=“” 作者信息

  -m,--message=“” 提交信息

  -p,  --pause=true 提交时暂停容器运行

  二、基于本地模板导入创建

          docker load < ***.tar  --本地模板文件tar

  三、基于Dockerfile文件构建镜像
          docker build –t image-name basedir





Docker命令用法→删除镜像

删除镜像   

  dockerrmi image

  dockerrmi –f image –强制删除镜像

  其中image可以为标签或者ID

注意:

  用dockerrmi删除镜像时,首先删除容器,再删除镜  像。 




Docker命令用法→容器

创建 |启动容器

docker  create image 创建的容器是停止状态

docker  start/stopcontainer_id启动/停止容器

docker  run image创建并启动容器

备注:image-可以为镜像标签或Id

 container_id为容器id


Docker数据卷→介绍

数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享。数据卷可以在多个容器之间共享。

       创建数据卷,只要在dockerrun命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数据卷了,而不管该容器是否运行。你也可以在Dockerfile中通过VOLUME指令来增加一个或者多个数据卷。

Docker基础命令用法总结



Docker-dockerfile构建镜像用法

介绍Dockerfile的基本语法结构Dockerfile有以下指令选项:

•FROM 

  FROM指定构建镜像的基础源镜像,如果本地没有基础镜像会从docker公共  库中下载镜像

•RUN

  RUN指令将在当前镜像基础上执行指定命令

•CMD

  CMD的目的是为了在启动容器时提供一个默认的命令执行选项。如果用户启  动容器时指定了运行的命令,则会覆盖掉CMD指定的命令

•EXPOSE

  Docker 服务端容器对外映射的本地端口,需要在dockerrun 的时候使用-p或  者-P选项生效

•ENV

  ENV指定一个环节变量,会被后续RUN指令使用,并在容器运行时保留

•ADD

  ADD复制本地主机文件、目录或者远程文件URLS从并且添加到容器指定路  径中,支持正则模糊匹配    

•COPY

   COPY复制新文件或者目录从并且添加到容器指定路径中 。用法同ADD,唯  一的不同是不能指定远程文件 URLS

•VOLUME

   VOLUME创建一个可以从本地主机或其他容器挂载的挂载点

•WORKDIR

   WORKDIR为后续的RUN、CMD、ENTRYPOINT指令配置工作目录。可以使  用多个WORKDIR指令,后续命令如果参数是相对路径,则会基于之前命令指  定的路径

DockerFile部署tomcat应用服务器





启动docker镜像

dockerrun –d –p 8080:8080 u-tomcat

-d --标示后台进程运行–p端口映射宿主8080→容器8080端口



出现上图所示表示启动成功,用http://ip:8080/访问,显示如图说明部署tomcat成功。



注意:

    1dockerfile构建镜像使用ADD指令复制文件到镜像    目录中 文件必须与dockerfile文件同目录。

    2dockerinspect -f “{{.Volumes}}”容器id 这里可   存放tomcat部署的war重启容器自动部署。

重启容  器命令:dockerrestart容器id


























版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/relax_hb/article/details/69668815
想对作者说点什么?  我来说一句
  • jun18752710535
    chen214123158 2018-05-08 14:01:39 #2楼
    写得太好了,必须赞一个
  • m0_37606574
    m0_37606574 2018-04-09 19:48:06 #1楼
    博主您好,您的这篇文章我可以转载吗?写的很好收藏一个
  • 上一页
  • 1
  • 下一页
6月起,深圳上班族可免费读成人大学,拿一年课程名校本科青学学历中心 · 顶新
Docker入门

Docker

qq_33466466 qq_33466466

2018-04-15 03:04:49

阅读数:163

快速去灰指甲,大部分人都不知道的神奇方法立奎 · 顶新
Docker技术入门实战+完整版+pdf扫描版

2017年09月29日 36.8MB 下载

docker 入门实战

2017年11月10日 12KB 下载

docker入门到实践 高清 文字版 pdf

2017年09月15日 5.51MB 下载

docker技术入门实战 完整版 pdf

2017年04月22日 47.1MB 下载

docker入门实战

2014年09月23日 424KB 下载

Docker技术入门实战 完整版47M

2016年09月13日 47.1MB 下载

Docker技术入门实战(第2版)

2017年07月12日 1.64MB 下载

没有更多推荐了,返回首页

个人资料

原创
8
粉丝
15
喜欢
16
评论
2
等级:
访问:
3万+
积分:
255
排名:
31万+
勋章:

最新评论

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
登录
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值