logo资料库

Docker 笔记.docx

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
1Docker介绍
1.1Docker是什么
1.2Docker能做什么
1.3网络项目架构
1.4Docker基本概念
1.4.1镜像
1.4.2容器
1.4.3Registry
2Docker安装
3Docker镜像
3.1拉取镜像
3.1.1从docker hub拉取
3.1.2从ustc拉取(建议使用)
3.2列出镜像
3.3删除镜像
3.4导入导出镜像
4Docker容器
4.1启动容器
4.2停止容器
4.3重启容器
4.4删除容器
4.5查看容器
5Docker应用
5.1搭建Tomcat服务
5.2部署web应用
Docker 公开课 1 Docker 介绍 Docker 是什么 云计算\云服务
IAAS(基础设施即服务)、PAAS(平台即服务)、SAAS(软 件即服务) Docker 到底是什么呢? Docker 就是一种虚拟化容器技术。 开发项目: Tomcat MySQL 通过 Docker 这种虚拟化技术,我们可以物理机的资源进行更加合理有效的利用, 可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立的“虚拟 计算机”。 基于操作系统创建出一些相互独立的、功能虚拟化技术有多种实现方式,有 基于硬件进行虚拟化的技术,而 Docker 只是针对操作系统进行虚拟化,对于硬 件资源的使用率更低。 相对于 VMware 这种虚拟化技术,Docker 拥有着显著的优势: 1. 启动速度快,Docker 容器启动操作系统在秒级就可以完成,而 VMware 却是达到分钟级。 2. 系统资源消耗低,一台 Linux 服务器可以运行成千上百个 Docker 容器, 而 VMware 大概只能同时运行 10 个左右。 3. 更轻松的迁移和扩展,由于 Docker 容器比 VMware 占用更少的硬盘空间, 在需要搭建几套软件环境的情况下,对安装好的 Docker 容器进行迁移会 更快捷,更方便。而且 Docker 容器几乎可以在任意的平台上运行,包括 虚拟机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让 用户将一个应用程序从一个平台直接迁移到另一个平台。 Docker 能做什么 docker 可以给开发人员和运维人员带来帮助。
项目拥有多套环境:开发环境、测试环境、预生产环境、生 成环境。 环境(中间件,具体比如 Tomcat、MySQL)不一致 我们之所以要学习 Docker,那是因为 Docker 是一门神奇的技术! 使用 Docker,开发人员只需要关注于软件应用开发,运维人员只需要关心如 何管理容器。这样的话,就可以避免在以往开发环境中经常出现的环境不一致问 题,比如开发人员在开发环境运行应用程序是正常的,但是同样的代码部署到生 产环境就不行了,这种问题出现的最大原因就是环境的不一致造成的。而现在通 过 Docker 容器,开发人员在开发&测试时使用的 Docker 容器环境,可以直接提 交给运维人员,由运维人员在生产环境中,直接拿着开发人员搭建好的 Docker 容器,并在其中部署应用,避免开发环境和生产环境的不一致性。 当然,Docker 的强大远远不至于此,而作为软件开发人员的我们,更关注的 是如何利用它来搭建一套统一的软件开发环境。 对比传统虚拟机总结: 接下来,我们将会一步一步的揭开 Docker 的神秘面纱!
网络项目架构 Docker 基本概念 docker 包含三个基本概念:  镜像(Image)  容器(Container)  仓库(Repository) 理解了这三个概念,就理解了 docker 的整个生命周期了! 镜像 Docker 镜像(Image)就是一个只读的模板。 Docker 镜像可以用来创建 Docker 容器。 Docker 镜像和 Docker 容器的关系,类似于 java 中 class 类与对象之间的关系。
Docker 提供了一个很简单的机制来创建镜像或者更新已有的镜像,用户甚至可 以直接从其他人那里下载一个已经做好的镜像来直接使用。 容器 Docker 利用容器(Container)来运行应用。 容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都 是相互隔离的、保证安全的平台。 可以把容器看成是一个简易版的 Linux 环境(包括 ROOT 用户权限、进程空间、 用户空间、网络等)和运行在其中的应用程序。 Registry Registry 是集中存放镜像文件的场所。 仓库(Repository)是对于其中的镜像进行分类管理。 一个 Registry 中会有多个 Repository。 一个 Repository 中会有多个不同 tag 的 Image。 比如名称为 centos 的 Repository 仓库下,有 tag 为 6 或者 7 的 Image 镜像。 Registry 分为公有(public)和私有(private)两种形式。  最大的公有 Registry 是 Docker Hub,存放了数量庞大的镜像供用户下载使用。  国内的公开 Registry 包括 USTC、网易云、DaoCloud、AliCloud 等,可以供 大陆用户更稳当快捷的访问。  用户可以在本地创建一个私有 Registry。 用户 创建 了自 己的 镜像 之后 就可 以使用 push 命令 将它 上传 的公 有 Registry 或者私有 Registry 中,这样下次在另一台机器上使用这个镜像的时 候,只需要从 Registry 上 pull 下来运行就可以了。 2 Docker 安装 官方网站上有各种环境下的安装指南,比如:CentOS、Ubuntu 和 Debian 系列的
安装。 而我们现在主要讲解的是基于 CentOS 7.x 上面的安装。 注意:CentOS 7 的安装比较耗费时间,所以不在本教程之内,但是资料中已经 准备了CentOS 7 的安装镜像以及安装文档,课下可以参考着文档进行安装。 安装好 CentOS 之后,需要通过 SSH 客户端工具访问 CentOS 操作系统,所以需 要在 CentOS 的系统界面中查看 IP 地址,查看方式在 7.x 后,ipconfig 命令被废 除,使用 ip addr 命令。 一切完毕之后,只需要执行以下命令即可完成 Docker 的安装: yum install docker systemctl start docker
3 Docker 镜像 拉取镜像 我们可以使用命令从一些公用仓库中拉取镜像到本地,下面就列举一些常用 的公用仓库拉取镜像的方式! 从 docker hub 拉取 https://hub.docker.com/ 下面的例子将从 Docker Hub 仓库下载一个 CentOS 7 版本的操作系统镜像。 docker pull centos:7 这是 docker 默认的公用仓库,不过缺点是国内下载会比较慢。 从 ustc 拉取(建议使用) 在宿主机器编辑文件:vi /etc/docker/daemon.json 请在该配置文件中加入(没有该文件的话,请先建一个): { } "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 最后,需要重启 docker 服务 systemctl restart docker.service
之后再使用 pull 命令拉取镜像,这时候是从 ustc 获取镜像,而且速度杠杠的。 列出镜像 docker images 删除镜像 docker rmi 镜像 导入导出镜像 导出镜像:docker save 镜像 > /root/xx.tar.gz 导入镜像:docker load < /root/xx.tar.gz 4 Docker 容器 启动容器 以交互方式启动容器:docker run -it --name 容器名称 镜像 /bin/bash 以守护进程方式启动容器:docker run -d --name 容器名称 镜像
分享到:
收藏