Docker入门系列(一)
这个系列的教程来源于docker的官方文档,此文档的目的在于一步一步学习docker的使用方法。
这一系列的教程有如下几篇文档:

  1. docker安装启动
  2. 构建第一个docker应用
  3. 让你的应用变为可扩展的服务
  4. 让你的服务跨越多台机器
  5. 增加一个可持久化的访问计数
  6. 将swarm部署到生产环境

Docker的价值在于,如何构建,传输以及运行你的应用程序。这是作为使用者最需要关注的方向。

准备工作

在正式开始之前,最好先了解Docker是什么,我们为什么需要Docker。
最好准备以下计算机基础知识:

  • IP地址和端口
  • 虚拟机
  • 系统配置文件
  • 代码依赖以及构建
  • 系统资源,比如cpu使用率,内存大小等

    容器的简单阐述

    镜像(image)是一个轻量的、独立的、可执行的软件包。这个软件包包含了程序代码、运行环境、库文件、环境变量、以及配置文件等程序执行所需要的所有部分。
    容器(container)是镜像的一个运行实例。在默认情况下,容器和宿主机是完全隔离的,也可以配置访问宿主机的文件系统和网络端口。
    容器在本地运行应用程序基于宿主机的内核(kernel)。和虚拟机相比,容器拥有更好的性能。容器能够直接访问机器资源,容器运行在独立的进程中,并不会比可执行程序消耗更多的内存。
    容器 VS 虚拟机
    虚拟机
    虚拟机运行在访客系统之上,这是一种资源竞争型的架构,会造成磁盘状态和应用在OS设置、系统安装依赖、系统安全层面相互干扰,还会有其他的easy-to-lose, hard-to-replicate的问题。
    容器
    容器可以共享内核,容器内部需要的配置,都会安装在容器的内部,各个容器之间是相互隔离的。因此,容器包含它运行所需要的所有环境,能真正的实现runs anywhere

    安装docker

    install

安装成功之后,运行hello-world

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
...(snipped)...

检查docker版本

$ docker --version
Docker version 17.06.2-ce, build cec0b72

看到如下输出信息,说明已经安装成功,可以享受docker之旅了。

总结

服务伸缩的最小单元是独立的、可移植的意义重大,它意味着CI/CD能够更新一个分布式应用的任何一部分,系统依赖不在是问题,并且资源使用率也大大提升。服务编排将紧紧围绕可执行程序,而非VM主机。
这将是一个巨大的进步,首先让我们学会如何快速行走吧。

转载于:https://www.cnblogs.com/ruccsbingo/p/7670128.html

Docker入门系列(一):目标和安排相关推荐

  1. Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像

    2019独角兽企业重金招聘Python工程师标准>>> 在前一篇文章:Docker入门系列之一:在一个Docker容器里运行指定的web应用 里, 我们已经成功地将我们在本地开发的一 ...

  2. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  3. Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)

    Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...

  4. Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像

    1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...

  5. Docker入门系列8

    commit docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser ...

  6. Docker入门系列之一:在一个Docker容器里运行指定的web应用

    实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...

  7. Docker 入门系列(7)- Dockerfile 使用(FROM、RUN、CMD、EXPOSE、ENV、ADD、COPY、ENTRYPOINT、VOLUME、WORKDIR)

    Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像. 1. 基本结构 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行. ...

  8. Docker 入门系列(6)- Docker 互联

    容器互联机制 容器的互联 (linking) 是一种让多个容器中应用进行快速交互的方式.它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 IP 地址. 1. ...

  9. Docker 入门系列(5)- Docker 端口映射(映射所有IP地址、映射到指定地址和指定端口、映射指定地址任意端口、查看映射端口配置)

    端口映射 映射容器内应用的服务端口到本地宿主主机 1. 从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行一些网络应用,要 ...

最新文章

  1. 物联网正在给批发业带来新的商业模式
  2. 结对子作业 四则运算 V2.0
  3. 2021-06-29
  4. 用Apache Ivy实现项目里的依赖管理
  5. tcp 接收端优雅的写法_如何更优雅地接收设计反馈
  6. wince6.0 s5pv210 中断
  7. mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)
  8. 梯度下降法快速教程 | 第二章:冲量(momentum)的原理与Python实现
  9. HL7数据类型分析(1)
  10. Daily Scrum 12/9/2015
  11. 计算log以二为底的x用计算机,计算器上怎么按出log以2为底的数
  12. 百度推广怎么做排名靠前网站链接
  13. 大型团队合作的八条法则
  14. 小学计算机课活动小结,电脑教师工作小结
  15. NY171 聪明的KK
  16. matlab霍夫曼图像压缩,用matlab仿真huffman编码在jpg图像压缩中的应用崔微微
  17. error: ‘FILE‘ undeclared (first use in this function)
  18. 工具应用——如何利用手机相机拍出好看的照片
  19. 推荐 10 个优质的知识星球
  20. 三本可以一买的 Python 书

热门文章

  1. mysql 游标中实现递归_mysql中实现递归查询?
  2. 少一些计较多_做人,少一点套路,多一些真诚,少一点计较,多一些宽容
  3. 软件测试工作都干些什么?
  4. 从事7年前端开发,有些经验想对转行学习前端的伙伴说说!
  5. Web前端前景、最新技术、学习路线?
  6. python程序设计基础第三版_Python程序设计(第三版)PPT及源码
  7. php中月份以星期为单位,PHP的月份第二个星期六
  8. java iframe主界面_利用iframe实现各个页面跳转
  9. 沙盘正在注销进程start_电脑关不了机,一直处于正在注销,这是为什么
  10. C语言学习笔记---浮点函数modf()和fmod()