zoukankan      html  css  js  c++  java
  • Docker 入门 第一部分: 定位和设置

    Docker 入门 第一部分: 定位和设置

    docker入门教程可以让你学会一下内容:
    1. 搭建你的Docker环境(也就是本页内容)
    2. 构建一个镜像,并以一个容器的方式运行它
    3. 扩展你的应用程序以运行多个容器
    4. 跨集群发布你的应用程序
    5. 通过添加一个后端数据库来堆叠服务
    6. 把你的应用程序部署到生产环境

    Docker概念

    docker是一个用来为开发者和系统管理员提供用容器来开发、部署、运行应用程序的平台。使用Linux容器部署应用程序被称作容器化。容器不是一个新概念,它们的用途是轻松部署应用程序

    容器化越来越受欢迎,因为容器:
    * Flexible 灵活:即使最复杂的应用程序也可以给容器化
    * Lightweight 轻量:多个容器可以利用并共享主机内容
    * Interchangeable 可替换:你可以快读部署更新和升级
    * Portable 便携:你可以在本地构建,然后部署到云,且可以在任何地方运行
    * Scalable 可扩展:你可以增加并自动发布容易副本
    * Stackable 可堆叠:你可以快速垂直的堆叠服务

    镜像和容器

    一个容器通过一个镜像运行起来。镜像是一个可运行的包,它包含运行一个应用程序所需的所有内容——代码、运行时、库文件、环境变量和配置文件。

    一个容器就是一个镜像的一个运行时实例——镜像在内存中运行时的状态(也就是一个有状态的镜像或者一个用户进程)。运行docker ps命令后你可以看到一个你正在运行的容器的列表,就好像你在Linux中一样。

    容器和虚拟机

    每一个容器天生就可以运行在Linux上并和其他的容器共享主机内核。它运维一个独立的进程,不会比其他可执行程序占用更多内存,这使它变得轻量化。

    相比之下,一个虚拟机(Virtual Machine)运行一个完整的“guest“操作系统,通过一个hypervisor对主机资源进行访问。通常,虚拟机提供的环境,比大多数应用程序需要的资源要多。

    Container VM

    准备你的Docker环境

    支持的平台上安装Docker社区版或企业版的一个还在维护的版本

    完整的 Kubernetes 集成

    安装Docker

    测试 Docker 的版本

    1. 运行 docker --version 并确认你有一个被支持的Docker版本
    docker --version
    Docker version 17.12.0-ce, build c97c6d6
    
    1. 运行 docker info (或者 docker version )来查看你安装的Docker的更多信息:
    docker info
    
    Containers: 0
     Running: 0
     Paused: 0
     Stopped: 0
    Images: 0
    Server Version: 17.12.0-ce
    Storage Driver: overlay2
    ...
    

    避免权限错误(可使用sudo) 把你的账户添加到 docker 组。

    测试 Docker 安装

    1. 通过运行一个简单的 Docker 镜像——hello-world,来测试你的安装:
      hello-world 是docker的最小化镜像实例中的一个:
    docker run hello-world
    
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    ca4f61b1923c: Pull complete
    Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    
    1. 列出已经下载到你的机器的 hello-world 镜像
    docker image ls
    
    1. 列出 hello-world 容器(通过镜像生成的),它会在显示一些消息后退出,如果它还在运行,你就不需要 -all 选项。
    docker container ls --all
    
    CONTAINER ID     IMAGE           COMMAND      CREATED            STATUS
    54f4984ed6a8     hello-world     "/hello"     20 seconds ago     Exited (0) 19 seconds ago
    

    回顾

    ## List Docker CLI commands
    docker
    docker container --help
    
    ## Display Docker version and info
    docker --version
    docker version
    docker info
    
    ## Execute Docker image
    docker run hello-world
    
    ## List Docker images
    docker image ls
    
    ## List Docker containers (running, all, all in quiet mode)
    docker container ls
    docker container ls --all
    docker container ls -aq
    

    总结

    容器化使用 CI/CD 浑然一体,例如:

    • 应用程序没有系统依赖
    • 可以将更新推送到分布式应用的任何一部分
    • 可以优化资源密度

    使用 Docker ,扩展你的应用程序的问题在于启动新的可执行文件,而不是运行臃肿的虚拟机。

  • 相关阅读:
    Python 魔法方法
    使用PHP7来批量更新MangoDB数据
    git 小乌龟安装教程
    webpack初学者(1)
    移动端与PC端的触屏事件
    解决onclick事件的300ms延时问题
    尺寸单位em,rem,vh,vw
    ngRoute 与ui.router区别
    angular.js的依赖注入解析
    ionic的基础学习(第一篇)
  • 原文地址:https://www.cnblogs.com/resn/p/9544083.html
Copyright © 2011-2022 走看看