zoukankan      html  css  js  c++  java
  • docker及安装

    • Docker容器引擎基础
    • 基于dockerfile构建镜像应用
    • docker网络模型详解docker compose
    • 企业级仓库harbor高可用方案
    • 构建docker容器监控系统
    • docker+consul+Registrator实现服务注册与发现

    docker容器引擎基础

    docker是容器的管理工具

    • 客户(老板)-产品-开发-测试-运维-->项目周期不断延后,项目质量越差
    • DevOps思想:开发运营,能够让多个部门高效工作密切的合作。
    • 开发(Dev)测试(Test)预上线(UAT)生产环境(Pro)
    • docker是在linux容器里运行应用的开源容器管理工具 ,可以理解为轻量级的虚拟机,国内15年开始兴起,基于Go语言开发。
    • Docker由DotCloud公司后改名为Docker lnc。Google也在器PaaS产品中广泛使用。
    • 官网:https://www.docker.com/
    • 云计算三种模型:is基础建平台设施即服务(云计算将平台已经部署),ps平台即服务(更适合于开发只需要开发使用),as所有及服务(基本所有都能解决)。

    docker

    • docker在linux原有的lxc技术的基础上进行二次封装
    • docker宗旨:Build,Ship and Run Any App,Anywher.(通过一次构建能形成一次运行环境)

    容器对比传统虚拟化

    第一个:容器,第二个:虚拟化

    • 虚拟化:地层硬件支撑,做虚拟化,虚拟出硬件资源,做操作系统,在系统上跑服务(占用大量服务器硬件资源浪费)
    • 容器:中低层硬件上运行操作系统,系统上运行Docker引擎,可以隔离运行容器(提高资源利用率)
    • 对比:

    Docker使用场景及其优点

    • Docker因体积较小,更适合迁移(简化了重新部署,调试等)。

    • 快速的交付和部署:也可以认为迁移,docker快速创建容器,快速迭代应用程序,且透明。

    • 更高效的虚拟化

    • 更轻松的迁移和扩展

    • 简单的管理

    docker的概念

    • 镜像(image):类似于虚拟机的快照(已经装好的环境,可以直接使用,不能改变,但是可以不断的堆积更新。),可以理解为一个面向docker容器引擎的只读模板。

    • 容器(container):是镜像创建的运行实例(可以开启,使用,停止,删除等),可以理解为一个简易的虚拟机。docker容器用来运行和隔离应用地方

    • 仓库(repository):是集中存放镜像的地方,仓库有一个仓库注册器(Registry),里面有很多的仓库,而仓库里有很多的镜像。但是镜像名字可以一样,标签(tag)不同。
      仓库分为公开仓库(Public)和私有仓库(Private),最大的公开仓库就是Docker Hub(https://hub.docker.com/)。

    Docker安装

    • Docker支持所有主流的操作系统平台上使用。
    • Docker发行版本:Docker-EE 企业版 , Docker-CE 社区版
    • CentOs系统下可以使用Docker官网curl安装,或者yum安装
    #使用yum源安装(不建议)
    #关闭防火墙三件套,确认网络使用
    [root@server01 ~]# iptables -F
    [root@server01 ~]# setenforce 0
    setenforce: SELinux is disabled
    [root@server01 ~]# systemctl stop firewalld
    [root@server01 ~]# ping www.baidu.com
    
    [root@localhost yum.repos.d]# ls  #查看网络源
    bak  CentOS-Base.repo  CentOS-Media.repo
    yum clean && yum makecache
    yum -y install docker  #安装
    
    systemctl start docker  #开启
    systemctl enable docker  #设置开机自启
    
    [root@localhost ~]# docker version  #查看docker版本信息
    Client:
     Version:         1.13.1
     API version:     1.26
     Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
     Go version:      go1.10.3
     Git commit:      7d71120/1.13.1
     Built:           Mon Jun  7 15:36:09 2021
     OS/Arch:         linux/amd64
    
    Server:
     Version:         1.13.1
     API version:     1.26 (minimum version 1.12)
     Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
     Go version:      go1.10.3
     Git commit:      7d71120/1.13.1
     Built:           Mon Jun  7 15:36:09 2021
     OS/Arch:         linux/amd64
     Experimental:    false
    
    #安装docker-CE
    #首先需要安装aliyun.repo
    yum -y install wget
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #下载aliyun仓库
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  #配置额外仓库
    yum clean all && yum makecache
    
    wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo  #准备网络源
    yum -y install yum-utils device-mapper-persistent-data lvm2  #  安装docker依赖的软件包
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #添加docker仓库
    ls /etc/yum.repos.d/  #查看docker仓库
    yum -y instal docker-ce  #安装
    systemctl start docker-ce  #启动docker
    systemctl anble docker-ce  #设置开机自启
    [root@localhost ~]# docker version
    Client: Docker Engine - Community
     Version:           20.10.9
     API version:       1.41
     Go version:        go1.16.8
     Git commit:        c2ea9bc
     Built:             Mon Oct  4 16:08:14 2021
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.9
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.16.8
      Git commit:       79ea9d3
      Built:            Mon Oct  4 16:06:37 2021
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.4.11
      GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
     runc:
      Version:          1.0.2
      GitCommit:        v1.0.2-0-g52b36a2
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
    docker info   #查看详细信息
    Registry: https://index.docker.io/v1/  #查看指向的默认的tar包地址
    
    https://cn.aliyun.com/  #阿里云服务器官网
    

    Docker镜像操作

    docker search nginx  #查找镜像
    NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    nginx                             Official build of Nginx.                        15653     [OK]       
    jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2080                 [OK]
    richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   818                  [OK]
    jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   259                  
    linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   157                  
    #第一列:NAME:镜像名字
    #第二列:DESCRIPTION:镜像描述信息
    #第三列:SYARS:星级(下载数,好评越高越nb)
    #第四列:OFICIAL:官方(ok)
    
    • 查看镜像
    docker images  #列出已有镜像
    REPOSITORY(镜像名/仓库名+镜像名)          TAG(标签)                 IMAGE ID(镜像的ID号)            CREATED(镜像创建时间)             SIZE(多大)
    
    docker inspect nginx #查看镜像详细信息
    
    • 下载镜像
    docker pull nginx
    
    • 给镜像添加标签
    #格式:docker tag 名称(:标签) 新名称(:标签)
    docker tag nginx nginx:test
    
    • 删除镜像
    #格式:docker rmi 镜像名称[:标签]
          docker rmi 镜像ID
    docker rmi nginx:test
    
    • 存出镜像和载入镜像
    存出格式:docker save -o 存出镜像为本地文件 镜像名
    docker save -o nginx-lmages nginx
    ls -l nginx-lmages
    
    载入格式:docker load < nginx-lmages.tar
            docker load --input nginx-lmages.tar
    
    • 上传镜像
    #首先注册登录仓库
    docker login
    账号,密码
    
    docker tag nginx 192.168.200.100:5000/nginx:test
    docker push 192.168.200.100:5000/nginx:test
    
  • 相关阅读:
    无法卸载Visual Studio 2005,提示:"H:\vs\vs_setup.msi could not be opened"
    在两个DB的table之间同步数据
    用于标记系统是否需要重启动的注册表键值
    提高性能——存储过程最佳实践 [译自MSDN]
    几个常见的位运算问题
    [存档] 非递归后根遍历二叉树
    [存档] 用真值表设计非递归二叉树遍历算法
    补码
    卸载Google Chrome导致Outlook, Word不能打开超链接
    编程题: 将一个矩阵(二维数组)顺时针旋转90度
  • 原文地址:https://www.cnblogs.com/wml3030/p/15422608.html
Copyright © 2011-2022 走看看