zoukankan      html  css  js  c++  java
  • Docker学习笔记一

    一、Docker是什么

    • 概述:

      Docker是Linux容器封装,提供一些简单易用的容器使用接口。
      Docker将应用程序与该程序的依赖,打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在虚拟容器中运行的时候,就好像运行在真的物理机上一样。
      Docker提供版本管理、复制、分享、修改扥功能,就像管理普通代码一样管理Docker容器。

    • 关于其他带环境安装的解决方案:

       环境配置难题软件开发最大的麻烦就是环境配置。开发环境运行没问题,生产不能用。因为生产缺某些组件。换一台机器,就要重新配置一遍。这样太浪费时间和精力了。

       虚拟机的带环境安装的解决方案。缺点:占用资源太多:虚拟机本身耗资源,比如虚拟机中的程序占用1M内存,但是虚拟机本身要几百兆内存才可以运行。冗余步骤多:虚拟机本身是完整操作系统,一些系统级别的操作步骤,无法跳过,比如:用户登录。启动慢:启动操作系统要多久,启动虚拟机就要多久。

       Linux容器:针对虚拟机的缺点,Linux发展出另外的一种虚拟化技术:Linux容器。Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。即:在正常进程外面套一个保护层,对于容器里面的进程来说,它接触到的资源都是虚拟的,实现了与底层系统隔离。
       Linux容器优点:启动快:容器里面的应用,是底层系统中的一个进程,启动容器相当于启动一个进程。而不是一个操作系统。占用资源少:容器只占用需要的资源,不占用哪些没有用到的资源。虚拟机是一个完整的操作系统,不可避免地要占用其他资源。体积小:容器只包含用到的组件,而虚拟机包含整个操作系统的打包。所以 容器文件比虚拟机文件要小得多。

    二、Docker的用途

    • 提供一次性的环境。比如:本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

    • 提供弹性的云服务。因为Docker容器可以随开随关,很适合动态扩容和缩容。

    • 组件微服务架构。通过多个容器,一台机器可以跑多个服务,听此可以在本机模拟出微服务架构。

    三、Docker安装

    • Linux安装

      Docker要求CentOS版本高于 3.10。安装之前可以先查看版本内核:

    //1.查看内核版本
    uname -r 
    
    
    //2.安装必要的系统工具:
    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    //3.添加软件源信息:
    
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    
    //4.更新yum缓存
    sudo yum makecache fast
    
    //5.安装 Docker-ce
    sudo yum -y install docker-ce
    
    //6.启动Docker后台服务:
    sudo systemctl start docker
    
    //7.测试运行 hello-world
    docker run hello-world
    
    //看到这个证明安装成功
    hello from docker  
    
    
    • windows安装

      系统是 win10专业版安装 docker from windows 即可。如果不是,需要安装docker tool box。

    //1.需要修改 DOcker Quick Start ,右键点,属性,快捷方式,目标:
    "D:Program Files (x86)Gitinash.exe" --login -i "C:Program FilesDocker Toolboxstart.sh"	
    //git位置
    
    //2.修改脚本后:
    DOCKER_MACHINE="C:Program FilesDocker Toolboxdocker-machine.exe"
    //这是安装路径
    
    //3.修改start.sh中 VBOXMANAGE 的路径, 19行往下
    ------------------
    STEP="Looking for vboxmanage.exe"
    VBOXMANAGE="C:Program FilesOracleVirtualBoxVBoxManage.exe"
    #if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
    #  VBOXMANAGE="${VBOX_MSI_INSTALL_PATH}VBoxManage.exe"
    #else
    #  VBOXMANAGE="${VBOX_INSTALL_PATH}VBoxManage.exe"
    #fi
    
    
    

    四、image文件

      Docker把应用程序及其依赖,打包在 image 文件里面,只有通过这个文件,才能生成Docker容器。
      Docker根据 image文件生成容器的实例。
      image文件可以继承,实际开发中,一个image文件往往通过集成另一个image文件,加上一些个性化设置而完成的。

    • 列出本机所有的image文件
    docker image ls
    
    • 删除image文件
    docker image rm [image文件名]
    
    

    五、用docker安装redis

    • 1、搜索镜像:
    docker search redis
    
    • 2、拉取镜像:
    docker pull redis
    
    • 3、启动
    docker run --name myredis -p 6379:6379 -d redis redis-server
    
    //-p 6379:6379  左边6379表示win10端口 右边表示容器中redis端口
    //--name 表示 redis镜像的实例名称
    //-d 后台运行
    
    • 4、看进程
    docker ps
    
    • 5、操作redis
    ///进入容器
    docker exec -it 2b377f9840fc bash
    // 2b377f9840fc 是docker ps查看的CONTAINER ID
    	
    //启动redis-cli
    redis-cli
    
    //退出
    exit
    

    六、推荐一篇详细Docker博客

    http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
    
  • 相关阅读:
    loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上
    浪潮“楼上”开发平台简介
    New博客园新的开始!
    python相关
    day20 函数闭包与装饰器
    计算机基础
    day19 生成器函数
    简历
    day18 迭代器
    数据库基础(代码)
  • 原文地址:https://www.cnblogs.com/nthforsth/p/12257504.html
Copyright © 2011-2022 走看看