zoukankan      html  css  js  c++  java
  • Docker入门-学习笔记

    这两天入门下Docker的容器技术,感觉挺实用的,所以记录下学习心得。

    Docker是什么?

      要了解它是什么,第一步要做的是什么,还用问~,当然是先去官网瞧瞧啊。很明显啊,Docker is the leading Containers As a Service platform.英语不好,别怪我,还等啥,去翻译啊。

      所以说Docker其实就是一个容器,容器能干啥,当然放东西喽,能放啥,你想放啥就放啥,任性没办法。记住这三个词:Build,Ship,Run(镜像,仓库,容器)。

    特点:跨平台,开源。

    Docker思想?

    A.集装箱:Docker将应用打包成镜像,就像码头一个个的集装箱一样,安全无丢失的将货物运行到指定码头,所以我们的应用就不会因为人为疏忽而丢失文件之类的问题。

    B.标准化:

      运输方式的标准化,任何应用统一运行方式(不用QQ,邮件发送,也不用U盘拷贝),我的地盘听我的有木有。

      存储方式的标准化,不必关心应用存储在什么地方,想运行或结束,只需要执行命令就可以。

      API接口标准化,只需要执行同样的命令就可以控制所有应用的启动运行等。

    C.隔离:

    这个是啥,搞过虚拟化的人应该都有些理解。虚拟机就有自己独立的CPU,内存,磁盘等。但是呢Docker比虚拟机更轻量化,我们创建虚拟机的时候需要很长时间,不熟练的人,搞半小时也不一定弄好。而Docker的创建只需1秒,对,你没有听错,就是这么神奇。其实它底层的技术是linux的一种限制机制:LXC-轻量级的容器虚拟化技术,以最大的效率隔离了进程,资源。

    Docker解决了那些实际问题呢?

    Q1:我本地没问题啊,你那是不是环境有问题,还是配置文件啥的没弄好?

    A1:解决了运行环境不一致的问题。

    Q2:系统好卡,那个哥们写死循环了啊,搞毛啊。

    A2:应用之间相互隔离

    Q3:双11来了,服务器撑不住了,快去购买几台服务器回来。

    A3:Docker命令化,让弹性可扩展,快速可伸缩变得简单。

    Docker的核心技术?

    Build,Ship,Run(仓库拉或构建镜像,容器运行镜像)

    Docker镜像:本质就是一系列的文件(应用,配置),Docker利用分层的技术实现镜像的存储。

    Docker容器:本质就是一个进程,镜像运行的地方。

    Docker仓库:提供服务的地址,Docker默认是国外的镜像仓库,特慢,国内有名的Docker镜像仓库,如网易蜂巢(c.163.com),如果有实力,也可以自己本地构建镜像仓库。

    Docker的安装?

    Docker是在Ubuntu上开发的,所以友好的支持Ubuntu系统,反正我用的就是Ubuntu,太爽了有没有。就一句命令搞定的事儿,记得root用户下执行哦。

    # apt-get update
    # apt-get install docker.io
    # docker version
    Client: Version:
    1.10.3 API version: 1.22 Go version: go1.6.1 Git commit: 20f81dd Built: Wed, 20 Apr 2016 14:19:16 -0700 OS/Arch: linux/amd64 Server: Version: 1.10.3 API version: 1.22 Go version: go1.6.1 Git commit: 20f81dd Built: Wed, 20 Apr 2016 14:19:16 -0700 OS/Arch: linux/amd64

    Docker常用命令?

    1拉取镜像

    docker pull [options] ImageName[:TAG]
    例如:docker pull hub.c.163.com/public/redis:2.8.4

    2查看本地镜像

    docker images

    3运行镜像

    docker run -d -P hub.c.163.com/library/nginx

    4查看容器运行

    # docker ps
    CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                   NAMES
    8722e72dc32e        hub.c.163.com/library/nginx   "nginx -g 'daemon off"   5 seconds ago       Up 4 seconds        0.0.0.0:32769->80/tcp   drunk_cray

    5停止容器运行

    # docker stop CONTAINER ID

    Docker网络?

    1网络类型

    桥接模式bridge,主机模式host,无模式none

    2端口映射

    可以使用docker port 8722e72dc32e 或docker port determined_swanson来查看容器端口的映射情况

    绑定端口运行容器

    docker run -d -p 808880 hub.c.163.com/library/nginx
  • 相关阅读:
    Java.io.outputstream.PrintStream:打印流
    Codeforces 732F. Tourist Reform (Tarjan缩点)
    退役了
    POJ 3281 Dining (最大流)
    Light oj 1233
    Light oj 1125
    HDU 5521 Meeting (最短路)
    Light oj 1095
    Light oj 1044
    HDU 3549 Flow Problem (dinic模版 && isap模版)
  • 原文地址:https://www.cnblogs.com/fxust/p/7508103.html
Copyright © 2011-2022 走看看