Docker 解决了企业的痛点:快速的持续集成,服务的弹性伸缩,部署简单解放了运维,为企业节省了机器资源,
docker 是装应用的容器,就像装水的杯子,装笔的笔筒,可以把helloword 放进docker 网站放docker
docker公司开发,开源的,托管在github上,跨平台,支持 Windows,mac linux
Docker思想
是一个1集装箱 ,2标准化 :
运输(docker鲸鱼负责运输)
存储(不用关心存在哪,存在哪个盘)
API接口(对外提供一个遥控器,我按各个按钮就可以遥控应用,不用使用每种应用对应的程序了)
3 隔离: 可以迅速的创建和销毁,利用了linux内核LXC技术,创建docker容器只需要一秒)LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求
docker解决了程序在开发环境和生产环境的运行不一致的问题,保证了程序在从开发环境移植到生产环境时,不会因为环境因素而运行失败。
解决了运行环境不一致所带来的问题 ;使得各个应用之间隔离,不会相互影响 ;使得弹性伸缩,系统扩展变得简单
一个程序正常的运行起来,需要的基本条件: 底层的从操作系统 JDK Tomcat 数据库 配置文件
1、docker解决了运行环境不一致带来的问题2、隔离性,每台服务器相互隔离,互不影响3、一键化部署服务器(例如双11,服务器数量。。。)
docker里有三个核心技术:镜像、仓库、容器
集装箱、码头、运行程序地方
去仓库把镜像拉到本地,用命令运行镜像,变成容器
Build-构建镜像 - [镜像 - 集装箱]Ship-运输镜像(从仓库和我们的主机上运输)- [仓库 - 超级码头]Run- 运行镜像(运行的镜像就是一个容器) - [容器 - 运行程序的地方]Docker运行过程:去仓库把镜像拉倒本地,然后用一条命令把镜像运行起来变成容器!
将镜像拉到本地,执行命令使其运行,成为一个容器。
镜像就是一系列的文件:应用文件、环境文件。镜像的存储格式:联合文件系统,不同目录挂载到同一个目录下
通过联合文件系统达到文件分层的效果,镜像就是一系列分层文件的组合,这些文件是只读的。联合文件系统,能够在一个目录下显示不同目录的内容
镜像的每一层都是只读的,修改时会将镜像拷到Docker容器的最上层,在修改,修改后读文件时从上往下读取
容器的最上层是可写的,除了最上层,之外的都是只读的,所以同一个镜像的可以放到很多不用容器之中,并且修改下层时互不影响
总结:Docker容器:容器的最顶层是可以RW的。容器下面的镜像:只读。=> 一份镜像可以对应多个容器,各部分独立。
docker默认仓库:hub.docker.com网易提供仓库:c.163.com
Docker 默认仓库hub.docker.comDocker 也支持在内网自己搭建仓库
docker仓库。1.hub.docker自己提供的,速度很慢2.国内自己提供的,如网易蜂巢;
可以实现自己的docker仓库,在内网使用,这样子可以隐私
docker的安装1.如果非window,要先安装docker_tools
win10: www.docker.com/products/docker#/
windowswin10之外:http://www.docker.com/products/docker-toolbox
2.安装缓存boot2docker.isohttp://pan.baicu.com/s/1qYyc0ag
MacOS Yosemite 10.10.3+(2014/6) 下载地址 https://www.docker.com/products/docker#/mac
旧版本 下载地址 https://www.docker.com/products/docker-toolbox
运行命令会看到 docker version 查看是否安装成功;
linux Redhat & CentOS 系统要求64-bit OS version 3.10
Ubuntu 系统要求64-bit OS version 3.10
uname -r 【查询linux版本】
切换到root权限下,su 更新apt-get update
uname -r 检查内核版本命令apt-get install -y docker.io
ubuntu启动docker:service docker start安装官网最新版本命令curl -s https://get.docker.com|sh
使用curl -s https://get.docker.com|sh 命令来安装docker
1.ubuntucurl来获取最新的文件apt-get来下载系统配置源的软件,可能不是最新的软件版本2.与centos不一样yum3.wget与curl的区别是wget与curl都能下载东西,只是不同的工具
docker pull 从远程拉取镜像
docker images 查看本机所有镜像
pull 从默认的码头(也就是公共的超级大的仓库 市场)(hub.docker.com) 拉取集装箱(images) 对应 shipimages 本地的仓库 可以查看共有多少个集装箱(images)
名词解释:REPOSTTORY : 镜像名字 TAG : 版本(lastest 最新版)IMAGE ID : 64 位的字符串,可以唯一标识镜像,这里只显示16位,后面的被截掉了。CREATED : 创建时间 (最后修改时间)SIZE : 大小
拉取镜像:docker pull [OPTION] NAME[:TAG] 查看镜像:docker images[OPTION] [REPOSITORY[:TAG]]
安装完成后的例子,如 : docker pull hello-world
docker images
没有提供地址的时候,使用docker pull 是从默认的仓库 下载
Docker 运行一个镜像变为容器,运行docker docker run [OPTION] IMAGE[:TAG] [COMMAND] [ARG…]
docker run流程:客户端向docker daemon发送一条pull命令,docker daemon会先在本机查找镜像,如果没找到则去远程仓库里找,然后把镜像下载到本地,下载回来后通过一定的方式将镜像运行起来,变成docker容器。
如运行 docker run hello-world
运行 nginx 先拉取 docker pull hub.c.163.com/library/nginx:latest
docker ps:查看正在机器上运行的容器
docker run -d:后台运行 docker run --help
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。


既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
044)]
[外链图片转存中…(img-yrPAkSKo-1712097329044)]
[外链图片转存中…(img-KhQlxSRE-1712097329044)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
本文介绍了Docker如何通过容器化解决企业快速部署、服务弹性伸缩、资源管理等问题,强调了其作为容器技术的核心概念,包括镜像、仓库和容器的使用,以及其在解决开发与生产环境一致性上的优势。

被折叠的 条评论
为什么被折叠?



