当前位置:   article > 正文

Docker简述与安装_docker安装与描述头歌

docker安装与描述头歌

一、服务器选型

在选择服务器操作系统时,Windows附带了许多您需要付费的功能。 Linux是开放源代码,可让用户免费使用。

对比

①Linux是开源的,因此是免费的。Web主机仅需要支付技术支持即可安装和维护程序(如果需 要)。服务器提供商不需要将额外的成本转嫁给客户。另一方面,对于Windows服务器,公司通常 必须为操作系统和定期使用许可证付费。

Linux服务器及其运行的应用程序通常设计为精益运行,因此通常使用较少的计算机资源。好处是 程序员可以“即时”修改Linux服务器和软件,而无需重新启动,这在Windows环境中是不可能的。 Microsoft

Windows服务器在多数据库任务下趋向于变慢,崩溃的风险更高。

③Linux比Windows更安全。尽管没有哪个系统能幸免于黑客和恶意软件的攻击,但是Linux往往是 一个低调的目标。由于Windows运行着世界上大多数软件,因此,黑客们渴望获得低挂的果实 Windows。

二、微服务的部署策略

部署单体应用意味着运行大型应用的多个相同副本,通常提供若干台(N)服务器(物理机或虚拟 机),在每台服务器上运行若干个(M)应用实例。部署单体应用并不总是简单明了,但还是比部署微 服务应用简单。

微服务应用由几十甚至数百个服务组成。服务用不同的语言和框架写成,每个都是一个小应用,包括特 定的部署、资源、扩展和监控需求,例如,根据服务需求运行若干数量的服务实例。

此外,每个服务实例必须配套提供适当的 CPU、内存 和 I/O 资源。更具挑战性的是,尽管如此复杂,部 署服务还必须快速、可靠和性价比高

基于主机(物理机或虚机)的多服务实例

“基于主机的多服务实例”模式是最为传统的应用程序部署方法。 在该模式下,软件开发人员可以提供单个或多个物理机或虚机,同时在每个主机上运行多个服务实例。 此模式有几种不同的实现形式,其中包括:将每一个服务实例都作为一个单独的进程,或是在同一进程 中运行多个服务实例。

优点:

由于多个服务实例使用的是同一服务器、及其操作系统,因此它们的资源使用效率相对较高。

不足:

除非每个实例都是一个单独的进程,否则您对服务实例的实际控制权并不大。而且,您无法限制每个实例能够使用到的资源比例。这将带来主机内存被大量消耗的隐患。

如果多个服务实例在同一进程中运行,它们之间会缺乏隔离关系。这通常会导致在相同进程 中,某个行为异常的服务能够直接影响、甚至中断其他的服务。

由于运营团队需要了解服务的详细信息,因此在部署期间,他们可能发生人为错误的风险较 高。显然,开发和运营团队之间需要通过必要的信息交换,来尽可能地消除复杂性。

三、基于容器的服务实例 

在这种部署模式下,每个服务实例都运行在其各自的容器中,因此也被称为操作系统级别的虚拟化机制。

 使用这一模式时,用户将服务打包为容器镜像。每个容器镜像就是一个文件系统镜像,由应用和运行服 务所需的库构成。有的容器镜像还包括完整的 Linux 根文件系统,有的则更轻量。

以部署 Java 服务为例,构建的容器镜像包括 Java 运行时、Apache Tomcat 服务器、以及编译好的 Java 应用。

一旦将服务打包为容器镜像,就启动一到多个容器。通常每个物理机或虚拟主机上会运行多个容器,会 用到 Kubernetes 或 Marathon 这样的集群管理工具来管理容器。

集群管理工具把主机看做资源池,根据每个容器需要的资源和每个主机上可用的资源来调度容器。 容器的优点与虚拟机类似,服务实例之间完全隔离,也能轻松监控每个容器的资源消耗

四、Docker

Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。

虚拟机与容器的区别:

VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;

Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装 应用。

Docker三要素

1.Docker镜像

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。

镜像可以用来创建 Docker 容器。 Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载 一 个已经做好的镜像来直接使用。

2.Docker仓库

仓库是集中存放镜像文件的场所。

有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上 往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的 标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

当然,用户也可以在本地网络内创建一个私有仓库。 当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一 台 机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

3.Docker容器

Docker 利用容器来运行应用。

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安 全 的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等) 和运 行在其中的应用程序。

Docker的作用:

1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境 2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容

3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构

五、Docker安装

Docker支持运行CentOS版本:CentOS 7.X

1.内核版本检查: uname -r

2.如果有旧版本先卸载,卸载命令

yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

 新版本的 docker叫做docker-ce

docker-ce(社区版,免费) docker-ee(专业版,收费)

3.安装必要的系统工具:

yum install -y yum-utils device-mapper-persistent-data lvm2

4.添加docker-ce安装源 (有两种)

官网:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

阿里

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

任选一种即可

5.更新yum缓存

yum makecache fast 

6.如果报错yml.pid占用

执行命令:-- rm -f /var/run/yum.pid

7.安装docker-CE

yum -y install docker-ce

六、docker的基本使用 

1.配置加速器 通过阿里云控制台获得加速地址

vi /etc/docker/daemon.json

{ "registry-mirrors":["你的阿里云专属加速器地址"] }

2.重新加载daemon

systemctl daemon-reload

3.重启docker

 systemctl restart docker

4.搜索镜像

docker search 镜像名称

5.下载镜像

docker pull 镜像名

获取一个 centos 系统的基础镜像可以使用如下的命令:

docker pull centos (未指定版本一般会使用latest(最新的)版本)

docker pull centos:版本号 (或者直接指定版本)

6.查看宿主机上的镜像

docker images

7.删除镜像(docker rmi 镜像ID/标签

docker rmi centos

docker rmi -f centos:latest

如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像。

正确做法:先删除依赖该镜像的所有容器, 再来删除镜像

 容器

容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。

镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态

1.创建容器

docker create -it centos:latest

docker create -it --name centos01

centos:latest centos:latest 即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否 存在指定的镜像, 不存在就从公有仓库下载

-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端

--name:指定生成的容器的名字,允许空,如果不指定会自动生成

 2.启动、停止、重启容器

docker start 容器ID|name|name:tag

docker stop 容器ID|name|name:tag

docker restart 容器ID|name|name:tag

3.查看当前的容器 

docker ps

docker ps -a

4.删除容器

删除容器前必须停止容器或者强制删除,否则删不掉

①停止:docker stop 容器ID|name|name:tag

②强制删除:docker rm -f 容器名或id

docker rm 容器ID

docker rm -f 容器ID

5.进入容器

docker exec -it 容器ID/容器NAME /bin/bash

docker exec -it 容器ID/容器NAME bash (简写)

6.退出容器

退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】 如果不想继续运行:按【ctrl+d】或输入exit

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/690157
推荐阅读
相关标签
  

闽ICP备14008679号