标签:class 查看 标准化 静态文件 关系 uil table 进程 最大
Docker是一个装应用的容器 就像杯子可以装水 笔筒装笔 可以吧hello word 把网页以及你可以想到的程序都放进docker里
docker是世界领先的容器化平台
Docker思想 看logo可以提现很多
集装箱 在没有集装箱的时候货物比较混乱又可能有些东西还会掉了,有了集装箱箱子密封的东西不容易丢失保证货完整(把货物想象成你的程序)
标准化 将你需要的东西交付给鲸鱼然后运到超级码头,然后你再本地使用命令到超级码头运过来(可以想成是一个中央库(公有私有都可以)也不用考虑应用装在那些地方你只是需要使用docker命令就ok Api标准化 如你启动tomcat的时候有使用tomcat.start其它服务器用其它启动命令 docker就标准化了这些 你只需要使用同一个启动命令就可以了
隔离 隔离进程和资源
这是公司开发和测试经常遇到的问题(开发自己的环境可以起来测试也测试到自己的服务都正常) 两边都感觉不是自己的问题 问题成皮球
Docker 可以将程序正常运行的环境装入集装箱 打包给鲸鱼 鲸鱼给服务器 在你的环境怎么运行在服务器还是怎么运行 Docker 解决运行环境不一致的问题
Docker隔离性 别人的问题不会影响到自己的程序 Docker启动就规定了最大的cpu 超过就gg
当节日来到电商网站需要加多服务器然后进行安装各种环境然后调试非常的麻烦和耗时间Docker可以轻松扩展服务器 1变100 100变1000 它是已标准的方式把程序和环境运过来然后运行起来每台机器运行两条命令就ok了
直接使用
Docker生命周期 Docker 包括三个基本概念: 镜像(Image) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习的面向对象的概念十分相似,我们可以把镜像想象成类,把容器想象成类经过实例化后的对象,这样就非常好理解镜像和容器的关系了。
Docker镜像 Docker的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。 例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了Mysql或用户需要的其它应用程序。 Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统被称为UnionFS。镜像可以基于Dockerfile构建,Dockerfile是一个描述文件,里面包含若干条命令,每条命令都会对基础文件系统创建新的层次结构。 Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。 注:镜像是只读的,可以理解为静态文件。 Docker容器 Docker 利用容器来运行应用。 Docker容器是由Docker镜像创建的运行实例。Docker容器类似虚拟机,可以支持的操作包括启动,停止,删除等。每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。 可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。 注:相对于镜像来说容器是动态的,容器在启动的时候创建一层可写层作为最上层。 Docker仓库 如果你使用过git和github就很容易理解Docker的仓库概念。Docker 仓库的概念跟Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。 Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。 仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。. ·Docker image:镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。 ·Docker container:容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。 ·Docker hub/registry: 共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。
|
去仓库吧镜像 拉到本地 用命令吧镜像在容器中运行起来
Build构建镜像 ship运输镜像(仓库) Run运行
Docker 鲸鱼身上的所有集装箱就是一个docker镜像 镜像就是一系列的文件(保存在本地)
联合文件系统(linux 实现文件的分层)
最下面是系统的引导 第二是linux 第三层如tomcat jdk 第四就是自己的程序 每层只读
容器 就是一个进程或者虚拟机
第五层可读可写 如果下层需要修改文件需要先拷贝到最上层然后修改 应用读的时候先从顶层开始查找 没有就 找下一层 可以保证同一个镜像可以生成多个容器独立运行没有任何干扰
仓库
构建镜像完成可以在其它机器运行环境 怎么传送到其它机器呢?
慢
先把镜像传输到仓库目的地到仓库去拉去(有点maven的意思 )
https://c.163yun.com/hub#/m/home/ 推荐
安装 推荐linux系统 ubuntu docker是ubuntu 开发集成最好稳定
查询系统版本
apt install docker.io 此命令使用系统自带的版本
想要下载最新的使用下面的命令
或者
Wget -qO- https:get.docker.com/|sh
最好是root权限
Docker version 命令查看是否安装成功
Service docker start 启动docker服务
实践镜像操作 hello-word
拉取镜像 黑色必须 红色可选
查看本机镜像
默认去docker仓库下载
容器运行
持久化容器 web服务器 需要后台挂起
首先去https://c.163yun.com/hub#/m/home/ 查找自己需要的镜像
进入复制命令
然后下载镜像 拉去到本地
查看镜像完成
运行docker run 名称|| image id都可以
新开一个窗口 记住登录root权限
镜像已经正常的运行了
Docker ps 差看本机运行的容器
这是前台运行看不到任何反应 ctrl+c结束 要后台运行需要 docker run -d 名称跟id都行
Docker stop 关闭容器
Docker stop b11 也可以关闭容器
想要进入容器内部使用一下命令
Which nginx查看安装地址
Ps -ef 查看经常
Exit 退出容器
-p开放容器的端口到主机上 默认空 -P(大写)开放所有的端口到随机的端口
8080主机端口 80是容器开放的的端口
Netstat -na|grep 8080
查看开放的端口
Ip为服务器ip
-P
8080访问实现 变成32769的随机端口
标签:class 查看 标准化 静态文件 关系 uil table 进程 最大
原文地址:https://www.cnblogs.com/jiahaoJAVA/p/8994631.html