zoukankan      html  css  js  c++  java
  • 2020系统综合实践 第一次实践作业

    一.课程调查

    起初以为是和系统结构相配套的实践课,大概是硬件方向的实验,然而没想到又和博客园扯上了关系,不经回想起以前被软件工程支配的恐惧。。。48学时的课时令人害怕,再加上大数据实践,组网实践,编译原理实践,周末两天满课让想考研的我瑟瑟发抖,还是希望有足够的时间去安排课程和考研复习,另外既然是一门新的课程,自然希望学习到新的知识,能够于应用实践

    二.了解微服务

    • 微服务
      • 微服务是一种软件开发技术,是面向服务的架构(SOA)结构风格的一种变体,将应用程序编排成一系列松耦合的服务。在微服务架构中,各个服务是细粒度的,协议是轻量级的。
    • 特点
      • 针对特定服务发布,影响小,风险小,成本低
      • 频繁发布版本,快速交付需求
      • 低成本扩容,弹性伸缩,适应云环境
    • 相较于传统的软件架构的优缺点
      • 优点
        • 每个服务独立存在,所以可以单独部署,不用每次发布某个功能都经历一次全服务发布。
        • 遵循单一功能原则,自服务之间可以通过RESTFUL或者RPC调用,功能解藕
        • “细粒度” 的高可扩展性,每个服务都可以单独扩展,单独负载均衡
        • 去中心化,尽可能地实现 “自服务”
        • 有利于简化单独的开百发测试以及部署,对开发团队友好
      • 缺点
        • 服务的可用性和维护性高度依赖于服务治理,如度果治理得不好将会是灾难
        • 某些服务可能造成性能瓶颈,某些服务的宕机可能导致很多服务受影响
        • 服务配置繁琐
    • 部署
      • 基于主机(物理机或虚机)的多服务实例
      • 基于主机(物理机或虚机)的服务实例
      • 基于容器的服务实例
      • 无服务器部署

    三.docker的安装/环境配置

    1.docker的相关概念

    (1)容器

    容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    (2)镜像

    Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
    镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义。

    (3)仓库

    仓库可看着一个代码控制中心,用来保存镜像。

    (4)docker

    Docker 是一个用于开发,交付和运行应用程序的开放平台。能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,减少编写代码和在生产环境中运行代码之间的延迟。

    (5)docker compose

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

    (6)Dockerfile

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    (7)docker machine

    Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。

    (8)Swarm

    Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

    (9)k8s

    k8s是基于容器的集群管理平台,它的全称,是kubernetes。

    2.环境配置

    2.1设置 Docker 仓库

    更新 apt 包索引

    $ sudo apt-get update
    

    安装 apt 依赖包,用于通过HTTPS来获取仓库

    $ sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    

    添加 Docker 的官方 GPG 密钥:

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。

    $ sudo apt-key fingerprint 0EBFCD88
    

    使用以下指令设置稳定版仓库

    $ sudo add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) 
      stable"
    

    2.2安装 Docker Engine-Community

    更新 apt 包索引。

    $ sudo apt-get update
    

    安装最新版本的 Docker Engine-Community 和 containerd

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    

    或安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出仓库中可用的版本:

    $ apt-cache madison docker-ce
    

    使用第二列中的版本字符串安装特定版本,例如 5:18.09.13-0ubuntu-xenial。

    $ sudo apt-get install docker-ce=5:18.09.1~3-0~ubuntu-xenial docker-ce-cli=5:18.09.1~3-0~ubuntu-xenial containerd.io
    

    测试 Docker 是否安装成功

    $ sudo docker run hello-world
    

    安装成功则显示以下信息

    四.学习docker技术

    1.容器的使用

    1.1获取镜像

    使用 docker pull 命令来载入 ubuntu 镜像

    sudo docker pull ubuntu
    

    1.2启动容器

    使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器;使用echo打出hello world
    参数说明:
    -i: 交互式操作。
    -t: 终端。
    ubuntu: ubuntu 镜像。
    /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
    要退出终端,直接输入 exit:

    sudo docker run -it ubuntu /bin/bash
    

    1.3容器的查询

    查看所有的容器命令如下:

    sudo docker ps -a
    

    1.4删除容器

    sudo docker rm -f <容器ID>
    

    1.5停止/启动容器

    sudo docker start <容器 ID>
    sudo docker stop <容器 ID>
    

    1.6停止的容器进入交互式shell

    都需要先重启容器,然后使用以下两种方式皆可

    sudo docker start <容器ID>
    
    sudo docker attach <容器ID>
    或
    sudo docker exec -it <容器ID> /bin/bash
    

    1.7查看容器信息

    sudo docker inspect <容器ID>
    

    1.8容器更新信息

    查看可选择的更新方式

    docker container update --help
    

    2.镜像的使用

    2.1获取阿里云镜像加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["加速器地址"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    2.2列出镜像列表

    查看本地镜像

    sudo docker images
    

    2.3从Docker Hub网站搜索镜像

    sudo docker search httpd
    

    2.4使用上图的httpd官方版镜像

    sudo docker pull httpd
    


    再次查看本地镜像

    2.5删除镜像

    删除hello-world镜像,并查看镜像列表

    docker rmi hello-world
    

    3.Docker Hub仓库管理

    3.1登录

    登录需要输入用户名和密码,登录成功后,就可以从Docker Hub上拉取账号下的全部镜像

    docker login
    

    3.2push镜像到仓库

    sudo docker tag ubuntu 1263199084/ubuntu
    sudo docker push 1263199084/ubuntu
    


    这时候登陆Docker Hub仓库可以发现镜像成功push到仓库

    3.3从仓库获取镜像,并查看镜像列表

    sudo docker pull 1263199084/ubuntu
    


    3.4最后注销登陆

    sudo docker logout
    

  • 相关阅读:
    PLSQL学习笔记 wm_concat
    Oracle ERP 公司间往来的解决方案(转载)
    Excel单元格设成只读
    PLSQL笔记 存在性检查
    PL/SQL编程技巧
    查看Oracle EBS克隆Clone时间
    用wm_concat合并行及merge into更新
    商务英语900句
    外企公司常用英文缩写
    ASP.NET 2.0 XML 系列(5):用XmlReader读取XML文档
  • 原文地址:https://www.cnblogs.com/ljw1999/p/12696655.html
Copyright © 2011-2022 走看看