-
Docker镜像结构图
查看全部 -
1、docker镜像就是image。从本质上来说镜像就是一系列的文件(包括应用程序的文件,也包括应用环境的文件),以联合文件系统分层的形式保存到本地;
2、docker镜像:(docker中的文件系统都是只读的)
从本质上面来说,Docker就是一系列的文件,可以包括我们的应用的程序的文件,我们应用的环境的文件,Docker把这些文件保存在了本地,既然保存了,那么是以什么样的格式进行保存的呢?说到镜像的存储格式,就要说到linux的一个存储技术,叫做联合文件系统,Union FS,它是一种分层的文件系统,它可以将不同的目录挂到同一个虚拟的文件系统下面,通过这样一种方式,联合文件系统就可以实现文件的分成,比如test1可以看做是第一层,test2可以看做是第二层,每一层有每一层自己的文件,Docker镜像就是利用了这种分层的概念来实现了镜像存储,
查看全部 -
docker核心部分:
1.Build 镜像(集装箱)【构建镜像】
2.Ship 仓库(超级码头)【从仓库运输镜像】
3.Run 容器(鲸鱼)【运行的镜像就是容器】
用docker运行一个程序的过程就是:去仓库把镜像拿到本地,然后用一条命令,把镜像运行起来变成容器。
查看全部 -
1、docker解决了运行环境不一致带来的问题
2、隔离性,每台服务器相互隔离,互不影响,使自己运行的程序不受其他程序的影响。
3、一键化部署服务器(例如双11,服务器数量。。。)
4、docker的标准化让快速扩展,弹性伸缩变得简单。
查看全部 -
Docker思想
1、集装箱 2、标准化 (运输方式、存储方式、API接口) 3、隔离
是一个集装箱
运输方式(docker鲸鱼负责运输)
存储方式(不用关心存在哪,存在哪个盘)
API接口(对外提供一个遥控器,我按各个按钮就可以遥控应用,不用使用每种应用对应的程序了)
API接口的标准化:Docker提供了一系列的RESTFUL API接口,包含了对Docker也就是对应用的控制,其中包括停止 查看 删除等等
隔离:
最底层的技术实际上是一种linux的一种内核的限制机制,叫做LXC,LXC是一种轻量级的容器虚拟化技术,最大效率的隔离了进程和资源,通过cgroup namespace等限制隔离进程组所使用的物理资源,如CPU I/O Memory等等。
这个机制早在7、8年之间就已经加入到了linux内核技术当中了
查看全部 -
docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以装笔,书包可以放书一样。你可以把“Hello World!”放到docker中,也可以把网站放到docker中,你可以把任何你想到的程序放到docker中。
查看全部 -
Docker历史
查看全部 -
找工作时,在简历上有底气的写下,熟练的掌握docker
查看全部 -
docker解决企业大部分痛点
1、 快速的持续集成
2、服务的弹性伸缩
3、部署简单,解放了运维
4、为企业节省了机器资源
查看全部 -
docker build,pull,run
client
docker_host
-----------------------------
registery
查看全部 -
进项 仓库 容器查看全部
-
1、制作自己的镜像
1.1、Dockerfile:是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。简化了从头到尾的流程并极大的简化了部署工作。
1.2、docker build:用于使用Dock而file创建镜像。
1.3、Jpress:http://jpress.io/:开源的java web应用。
查看全部 -
*、docker使用了Linux的namespace技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Docker容器一般会分配一个独立的Network Namespace。
1、docker网络类型:
1.1、bridge模式(桥接):docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。
1.2、host模式:容器不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
1.3、none模式:Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。docker将不会和外界的任何网络进行通讯。
1.4、container模式:新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。
2、进行访问
2.1、docker启动 -p 的使用: docker run -d -p 主机端口:容器端口 容器的名称
2.2、停止docker:docker stop 容器Id
2.3、docker启动 -P 的使用(所有的监听端口都会和主机建立一个映射): docker run -d -P 容器名称
查看全部 -
1、Nginx特性:
1.1. 持久运行的容器
1.2. 前台挂起&后台运行
1.3. 进入容器内部
2、Nginx可以选择前台运行也可以选择后台运行,前台运行的镜像可以使用“Ctrl+C”结束进程的,进程结束了镜像也就结束了,因此Nginx的运行方式最好是后台运行;
docker容器里面和Linux还原一样(可以将docker容器想象为一个Linux系统)
3、docker命令:
3.1、docker ps 查看本机正在运行的容器;
3.2、docker run --help 可以查看docker run 都有哪些参数;
3.3、docker run hub.c.163.com/library/nginx 在前台运行Nginx;
3.4、docker run -d hub.c.163.com/library/nginx 在后台运行Nginx并打印相应运行Id;
3.5、docker exec -it 容器Id bash 进入容器内部
查看全部 -
运行上节拉取到的hello-world:
1、运行命令:docker run [OPTIONS] IMAGE [:TAG] [COMMAND] [ARG...] 命令中IMAGE镜像名字项为必填项
例如:运行hello-world命令:docker run hello-world
2、docker 的流程:
Client :本机的docker执行命令的客户端
DOCKER_HOST:本机docker服务
Registry:docker远程仓库
2.1. docker pull 流程:在本机Client发出docker pull执行命令到DOCKER_HOST本机docker服务的Docker daemon中,Docker daemon会先在本机中寻找是否有相应的镜像如果存在不进行任何操作,如果没有会从docker的远程仓库Registry中将相应的镜像拉取到本地服务;
2.2. docker run 流程:在本机Client发出docker run执行命令到DOCKER_HOST本机docker服务的Docker daemon中,Docker daemon会先在本机中寻找是否有相应的镜像如果不存在则会从docker的远程仓库Registry中将相应的镜像拉取到本地服务,然后通过一定方式将镜像运行起来变成docker的容器。
查看全部
举报