docker学习05——docker镜像原理和dockerfile部署spring boot项目

docker镜像原理思考

思考:

1、docker 镜像本质是什么?

2、docker中centos镜像为什么只有200M,而一个centos操作系统的ios文件几个G。

3、docker中tomcat镜像为什么有500M,而一个tomcat安装包只有70多M。

1.操作系统组成部分

在这里插入图片描述
在这里插入图片描述

2.docker镜像原理

docker镜像是由特殊的文件系统叠加而成

最低端是bootfs,并使用宿主机的bootfs

第二层是root文件系统rootfs,称为base image

然后再往上可以叠加其他的镜像文件
在这里插入图片描述
在这里插入图片描述

3.镜像制作

1、容器转为镜像

docker学习05——docker镜像原理和dockerfile部署spring boot项目容器转为镜像

docker commit 容器id 镜像名称:版本号

压缩成压缩文件

docker save -o 压缩文件名称 镜像名称:版本号

还原

docker load -i 压缩文件名称

目录挂载的不生效

4.dockerfile

docker学习05——docker镜像原理和dockerfile部署spring boot项目概念:

dockerfile 是一个文本文件

包含了一条条指令

每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像

包含了Dockerfile 关键字,都是大写的。

5案例

案例1需求自定义centos7镜像。要求:

1、默认登录路径为/usr;

2、可以使用vim命令

实现步骤

(1)定义一个父镜像:FROM centos:7

(2)定义作者信息 MAINTAINER tc <tc@qq.com>s

(3)执行安装vim命令:run yum install -y vim

(4)设置默认工作路径:WORKDIR /usr

(5)定义容器启动执行的命令:CMD /bin/bash

(6)通过dockfile构建镜像:docker bulid -f dockerfile文件路径 -t 镜像名称:版本

实际步骤

mkdir docker-files

vim centos-dockerfile

写入:

FROM centos:7
MAINTAINER tc <tc@qq.com>s
run yum install -y vim
WORKDIR /usr
CMD /bin/bash

WQ保存退出。

docker build -f ./centos_dockerfile -t tc_centos:1

-t :指定镜像名字和版本

docker学习05——docker镜像原理和dockerfile部署spring boot项目

docker run -it --name=c2 tc_centos:1 .

案例2:需求定义一个dockerfile,部署spring boot项目

实现步骤:

(1)定义一个父镜像:FROM java:8

(2)定义作者信息 MAINTAINER tc <tc@qq.com>s

(3) 将jar包添加到容器:ADD sprintboot.jar app.jar

(4) 定义容器启动执行的命令:CMD java -jar app.jar

(5)通过dockfile构建镜像:docker bulid -f dockerfile文件路径 -t 镜像名称:版本

准备工作

localhot:8080/hello

打包sprintboot 项目,会生成一个架包。

放入到linux服务器。

cd ~ 到目录看到架包

实际步骤

mv hello.jar ./docker-files

cd docke-flies

vim sprintboot_dockerfile

写入:

FROM java:8
MAINTAINER tc <tc@qq.com>s
ADD hello.jar app.jar
CMD java -jar app.jar

wq

docker bulid -f ./sprintboot_dockerfile -t app .

默认为最新版本

docker run -id app

端口映射

docker run -id -p 9000:8080 app

docker ps -a查看一下

访问测试

宿主机ip:9000/hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪异的bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值