美文网首页Docker
二、Docker初体验

二、Docker初体验

作者: Suny____ | 来源:发表于2020-03-10 17:49 被阅读0次

1、Docker介绍

  • 官方对Docker的定义
    • Docker是一个开发、运输和运行应用程序的开放平台。Docker使您能够将应用程序从基础架构中分离出来,以便快速交付软件。使用Docker,您可以像管理应用程序一样管理基础架构。通过利用Docker的快速运送、测试和部署代码的方法,您可以显著减少编写代码和在生产环境中运行代码之间的延迟。
  • 简单来说使用Docker可以快速的构建一个运行环境,以前我们要部署一个项目需要有操作系统,需要Tomcat,需要各种配置之后才可以运行起来。而使用Docker之后,很多步骤你都可以省略,可以提高我们部署时的效率。

1.1 Docker对比以前的部署

  • 操作系统部署
    • 在没有Docker的时候,如果要部署一个项目,就需要有一个操作系统,有时候一个项目所需要的资源其实并不大,这样的一个项目就需要一个操作系统去部署,显然是会浪费资源的。
    • 缺点
      • 成本高、部署慢、浪费资源、硬件限制、不利于迁移扩展
  • 虚拟机部署
    • 可能有人会想到用虚拟机,但是虚拟机也同样会有这些问题,因为创建一个虚拟机需要占用固定的资源。
    • 优点
      • 相对利用好资源
      • 相对容易扩展等
    • 缺点
      • 虚拟机太重了,一上来占用较多物理资源,移植性差,资源利用率低等
  • Docker部署
    • 在有Docker之后,我们不需要在担心资源浪费的情况,Docker就像虚拟机一样,可以在一台机器上部署多个系统。
    • Docker与虚拟机的不同在于其资源占用是可控的,不再是占用固定资源,而是共享系统资源,需要用多少就只会占用多少。当然共享的资源也可以限制,保证不会影响到其他的服务。
    • Docker的优点
      • 有助于Microservices的落地和部署
      • 充分利用物理机资源,同时能够整合服务器资源
      • 云原生落地,应用更好地迁移等

1.2 Docker核心组件

  • Docker Engine

    • Docker Engine是一个客户端-服务器应用程序

    • 客户端通过命令行界面通过脚本或直接命令行界面命令与服务器进行交互

    • 服务器是一种长期运行的程序,接收用户的命令进行解析

image.png
  • image

    • image可以说是一个模板,一个创建container的模板;就像一个虚拟机会有一个文件,如果要运行虚拟机就需要通过这个文件去启动。
  • container

    • 简单的说一个image在运行起来就是一个容器,它会根据image模板去创建出一个新的container。而container其实就是一个小型的操作系统了。
    • 下图的App A ~ App F 其实就是一个个的container。
image.png

1.3 docker基本体验

  • 创建tomcat容器
    • docker pull tomcat
      • 默认从Docker Hub镜像库拉取一个 Tomcat image
    • docker run -d --name my-tomcat -p 9090:8080 tomcat
    • 启动完成后通过访问物理机的9090端口即可看到Tomcat的管理页面
  • 创建mysql容器
    • docker run -d --name my-mysql -p 3301:3306 -e MYSQL_ROOT_PASSWORD=root --privileged mysql
    • 如果本地没有Mysql的 image,它会自动从镜像库拉取最新的Mysql image
    • 启动完成后可以通过数据库连接工具通过3301端口连接到Mysql。
  • 进入容器
    • docker exec -it my-mysql /bin/bash
  • 参数说明
    • run:运行一个容器
    • -d:通过后台启动
    • --name:启动容器后的名称
    • -p:端口映射,前面是物理机端口,后面是容器的端口,用于暴露给外界让其访问
    • -e MYSQL_ROOT_PASSWORD=root:设置mysql的root用户的密码
    • -it .. bash:保留容器终端的输入形式(-it和bash的结合作用)

1.4 可能有的疑惑

  • docker pull在哪拉取的镜像?

    • 默认是在hub.docker.com
    • 也可以通过配置阿里云的镜像库或者自建的本地镜像库
  • docker pull tomcat拉取的版本是?

    • 默认是最新的版本 latest,可以在后面指定版本 tomcat:8.5.51-jdk8-adoptopenjdk-hotspot

相关文章

  • Docker笔记之总结

    Docker笔记之Docker初体验Docker笔记之容器Docker笔记之网络管理Docker笔记之数据卷Doc...

  • Docker学习笔记(一)Docker初体验

    Docker学习笔记(一)Docker初体验 什么是Docker Docker是一个虚拟环境容器,可以将开发环境、...

  • 二、Docker初体验

    1、Docker介绍 官方对Docker的定义Docker是一个开发、运输和运行应用程序的开放平台。Docker使...

  • Docker初体验(二)- 创建docker镜像

    上一篇中解释了Docker与虚拟机的不同,以及使用它的好处--一次创建到处运行。那么这一篇就介绍怎么创建一个可以在...

  • Docker初体验

    Docker初体验 ​ Docker 是一个开源的基于 LXC 的高级应用容器引擎,让开发者可以打包他们的应用...

  • linux运维之Docker基础(二)

    1.docker初体验: (1)安装Nginx步骤: 官网下载Nginx源码包 进行:wget tar ...

  • Docker 初体验

    前言 刚刚接触docker的同学看到会很模糊都不知道docker是什么东西,有什么用,可以用来做什么那么接下来的文...

  • Docker 初体验

    前言 从N年前使用Vmware Workstation安装虚拟机开始,发现虚拟机一个很大的缺点是,占用资源太多,占...

  • docker 初体验

    安装epel 源 安装docker centos7 以下系统 centos7 以上的系统 *.*.*.* 是私有仓...

  • Docker初体验

    其实docker的大名我一直有所耳闻,只是一直觉得这个运维级别的东西离我太远,而前端有了NPM和Bower之后,基...

网友评论

    本文标题:二、Docker初体验

    本文链接:https://www.haomeiwen.com/subject/nwdgdhtx.html