Docker

docker出现之前可能会遇到这些问题:在我的电脑上写好的代码好好的,你的电脑竟然运行不了;公司运维小哥每天为电脑配置环境,消耗 3个运维giegie / day
怎么办?
docker出现之后
让发布一个项目不仅仅只发布一个jar包,而是jar包带上环境(比如MySql、jdk、Redis)进行发布,我们从镜像仓库,下载发布的镜像直接运行
Docker LOGO:
Docker Logo  鲸鱼+集装箱
Docker的思想就是打包装箱,每个箱子互相隔离。通过隔离容器间就不会发生污染,并且也可以充分利用服务器资源。
docker架构图docker架构图
由客户端(Client)、docker主机(服务器)、远程仓库(Registry)
镜像(Image):
好比是一个模板,通过这个模板来创建容器服务 ;Tomcat镜像 ===》run ==》Tomcat容器,项目运行就可以在容器中
容器(Containers)
独立运行应用,可以把容器理解成一个简易版的Linux系统
仓库(Registry):
就是存放镜像的地方,想要哪个镜像去仓库拉
详细说下镜像
先从docker上下载MySQL镜像,可以看到一层一层的下载
UnionFS(联合文件系统):对文件系统的修改作为一次提交来一层层的叠加
Docker就利用了UnionFS联合文件系统,Docker镜像可以通过分层来进行继承
好处:其他应用有相同的层可以直接复用
docker image inspect redis:latest查看redis镜像的详细信息
redis下载后的Layers:对外展现的就是这六层,下载时候是分层下载的

在下载其他镜像时候,如果有的层已经有了,就不再下载

容器数据卷
举例:我们使用的容器存储数据,我们删除容器之后,数据就没有了;
容器数据卷就是在本地与容器某一个目录做一个映射,我们在容器中写数据,本地也会有
使用方式一:直接使用命令 docker run -it -v 主机目录 :容器内目录
例如:docker run -it -v /home/ggqq:/home centos /bin/bash
在本地/home/ggqq目录与容器中的/home做的一个映射
在这里插入图片描述

方式二:使用DockerFil
在这里插入图片描述

step1:找一个基础镜像
step2:挂载数据卷
docker inspect 查看数据卷挂载目录
DockerFile
dockerfile是什么:Dockerfile是用来构建Docker镜像的构建文件,是一些命令和参数构成的脚本,就是镜像的描述文件。
Centos6的DockerFile的样子
保留字:
FROM:获取基础镜像
MAINTAINER :作者 + 邮箱
ADD:将宿主机目录下的文件拷贝进镜像且自动解压tar压缩包
LABEL:指令用来给镜像添加一些元数据(metadata)
CMD:容器启动时候要运行的命令
执行流程:
1.docker从基础镜像运行一个容器
2.执行指令对容器进行修改
3.提交新的镜像层(ADD新的压缩包)
4.docker再基于刚提交的镜像运行一个新容器
5.执行dockerfile下条指令,直到所有指令都执行完成

应用举例:
初始的centos镜像,默认不支持vim,和ifconfig命令
自定义mycentos镜像,支持vim编译器,和查看网络配置ifconfig命令

vim myDockerFile

RUN:容器构建时候要执行的命令
docker build -f myDockerFile -t mycentos:0.1 .
创建Tomcat镜像
1.准备镜像文件、tomcat压缩包、JDK压缩包
2.编写DockerFile
3.构建镜像 docker build -t [镜像名]
4.启动镜像
5.访问Tomcat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值