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
  • 相关阅读:
    二叉查找中使用位运算符
    Python2021专业版激活码
    南邮计算机方向
    7.字符串、异常处理、文件和流(C++学习笔记)
    6.多态与抽象(C++学习笔记)
    5.对象类与继承(C++学习笔记)
    4.数组与指针(C++学习笔记)
    3.C++函数(C++学习笔记)
    2.C++控制语句(C++学习笔记)
    1.基本知识(C++学习笔记)
  • 原文地址:https://www.cnblogs.com/fxust/p/7508103.html
Copyright © 2011-2022 走看看