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

 

posted @ 2017-09-12 00:54  疯狂的蜗牛仔  阅读(399)  评论(0编辑  收藏  举报