美文网首页
Docker起步,第一部分:简介与配置

Docker起步,第一部分:简介与配置

作者: devel_carl | 来源:发表于2018-07-03 17:26 被阅读0次

    原文链接:Part 1: Orientation and setup
    预计阅读时间:4分钟

    Hello!我们非常高兴你能够选择学习Docker,本模块将引导你如何:
    1.配置你的Docker环境(本篇)
    2.创建镜像(image)并作为一个容器运行它
    3.应用扩容来运行多个容器
    4.在集群中部署你的应用
    5.添加一个后台数据库为对战服务
    6.以产品的形式部署你的应用

    Docker 概念(Docker concepts)

    Docker是一个为开发者与系统管理员提供开发部署运行包含应用的容器功能的平台。在Linux容器中部署应用的用法叫做容器化(containerization)。容器并不一个很新的概念,但他们可以用来更简单的部署应用。

    容器化日渐流行是因为容器:

    • 灵活性:甚至最复杂的应用也可以被容器化
    • 轻量级:容器可以利用并分享主机的内核
    • 可互换性:可以动态部署更新和升级
    • 便携性:可以在本地build,在云服务部署,并可以再任何地方运行
    • 可扩容性:可以增加和动态分发到没个容器的副本中(replicas
    • 可堆叠行:可以垂直和动态的堆叠服务

    镜像和容器(Images and containers)

    运行一个镜像来启动一个容器。镜像(image)是一个包含了所有运行需要的东西的可运行包--代码,运行时,库,环境变量和配置文件。
    容器(container)则是一个镜像运行的实例--镜像运行时在内存中会变成的样子(可能是一个带有状态的镜像,或是一个用户线程)。你可以用命令docker ps看到当前正在运行的容器列表,就想在Linux中一样。

    容器与虚拟机(Containers and virtual machines)

    容器在Linux本地运行并与其他容器分享使用主机的内核。它的运行一个独立的进程,不会比其他可执行应用占用更多内存,这使得它更轻量级。
    相比之下,虚拟机(virtual machine VM)通过超级管理员虚拟访问 virtual access主机资源来运行一个完整的“guest”操作系统。通常的,虚拟机提供了超出大多应用所需要的资源环境。

    容器与虚拟机的对比

    准备你的Docker环境

    支持平台 supported platform安装Docker Community Edition (CE) 或 Enterprise Edition (EE) 的维护版本 maintained version

    完成Kubernetes集成

    测试Docker版本(Test Docker version)

    1.运行docker --version并确认已经有Docker的支持版本

    docker --version
    Docker version 18.03.1-ce, build 9ee9f40
    

    2.运行docker info(或者docker version 没有--)来查看更多docker的信息

    localhost:~ yichen$ docker info
    Containers: 1
     Running: 0
     Paused: 0
     Stopped: 1
    Images: 9
    Server Version: 18.03.1-ce
    Storage Driver: overlay2
    ...
    

    测试Docker安装

    1.运行一个简单的Docker镜像来测试你的安装是否奏效, hello-world:

    localhost:~ yichen$ docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/engine/userguide/
    
    

    2.列出已经下载到你的机器中的hello-world镜像

    docker image ls
    

    3.列出在显示消息后退出的hello-world的容器container(因image而产生的),如果他依旧在运行,则不需要添加--all选项

    localhost:~ yichen$ docker container ls --all
    CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
    482e93ce5196        hello-world         "/hello"            Less than a second ago   Exited (0) 31 seconds ago                       focused_varahamihira
    

    作弊表???秘籍??(Recap and cheat sheet)

    ## 列出Docker CLI 命令
    docker
    docker container --help
    
    ## 显示Docker版本与信息
    docker --version
    docker version
    docker info
    
    ## 运行Docker镜像
    docker run hello-world
    
    ## 列出Docker镜像
    docker image ls
    
    ## 列出Docker容器 (正在运行, 所有, 所有处在静默模式)
    docker container ls
    docker container ls --all
    docker container ls -aq
    

    总了个结(Conclusion of part one)

    容器化使得持续集成/持续部署无缝化,举几个例子:

    • 应用没有系统依赖
    • 更新可以被推送到分布式应用的任意一个部分
    • 资源可以被充分利用

    使用Docker,扩展应用程序的问题在于启动新的可执行文件,而不是运行繁重的VM主机。

    相关文章

      网友评论

          本文标题:Docker起步,第一部分:简介与配置

          本文链接:https://www.haomeiwen.com/subject/zncduftx.html