docker file实战并将springBoot项目打包成镜像并运行

docker file

什么是dockerfile

Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。

docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。

例:

​ docker build -f /path/to/a/Dockerfile

Dockerfile的基本结构

Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

Dockerfile文件说明

格式

#是注释

指令建议要大写,内容小写。这样更能区分

执行顺序

docker是按照Dockerfile指令顺序依次执行的,也就是说从上到下。

其他

每一个Dockerfile的第一行都是非注释性的,也就是说第一行不能是注释,必须是FROM指令,来指定基础镜像,后面的指令都以基础镜像为运行环境。如果构建过程中本地没有指定镜像文件,就会去远端仓库拉。

说明:

从应用软件的角度来看,dockerFile,docker镜像,docker容器分别代表软件的三个不同的阶段

  • dockerFile是软件的原材料(代码)
  • docker 镜像就==(.apk 就是所谓的安装包)
  • docker 容器是软件运行的祝你光头(客户下载执行)

dockerFile是面向开发,docker镜像是交付标准,docker容器涉及部署以及运维三者缺一不可!

dockerfile实战

安装

$ docker pull centos:centos7

查看本地镜像

$ docker images

启动

$ docker run -itd --name centos-test centos:centos7

进入容器内部(你会发现(它的结构和我们的服务器的系统是一模一样的我服务器安装的centos7.6的)

# docker exec -it 容器id /bin/bash

进入服务器之后你会发现官方给的centos7里面啥都没有 vim jdk等等都没有,所以我们需要去改造它然后再把它封装成一个镜像方便我们以后去使用

你去github查看centos的源码就是以dockerfile实现的所以今天我们就要使用dockerfile来进行改造!!!

改造初始centos脚本

#继承自哪一个基础的镜像
FROM centos:centos7
#作者的信息
MAINTAINER shenjian<2511761696@qq.com>
#容器构建时需要运行的命令
#安装vim
RUN yum -y install vim*
#安装netstat指令
RUN yum -y install net-tools
#配置环境参数(定义的时候不需要加$,引用的时候加)
ENV MYPATH /usr/local
#切换目录
WORKDIR $MYPATH
#安装JDK(将宿主机的文件添加到容器中)
ADD jdk-8u333-linux-x64.tar.gz $MYPATH
#配置jdk的环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_333
ENV CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
ENV PATH=$PATH:${JAVA_HOME}/bin
#暴露短口
EXPOSE 80
#启动centos
CMD /bin/bash

开始操作 吼吼吼!!

在服务器里面奥

cd /home

新建一个Dockerfile将我们写好的脚本放进去

vi Dockerfile

执行构建脚本(mycentos:1.0 名字随意取 .必须要有)

do

查看镜像

 docker images

在这里插入图片描述

我们配置好的镜像就欧了将之前从官方拉取下来的镜像删除掉

停止服务

docker stop id

删除服务

docker rm id

删除镜像

docker rmi id

启动我们自己封装好的镜像

 docker run -itd --name centos-test mycentos:1.0 

启动成功后进去看看

 docker exec -it id /bin/bash
 ls
 bin  etc  games  include  jdk1.8.0_333  lib  lib64  libexec  sbin  share  src    

将spring Boot项目打包成镜像运行

进入项目

在这里插入图片描述

在这里插入图片描述

构建镜像脚本

Dockerfile

#继承一个基础镜像
FROM java:8
#设置作者
MAINTAINER shenjian<2511761696@qq.com>
#将本地的demo3-0.0.1-SNAPSHOT.jar添加到镜像里去 
ADD demo3-0.0.1-SNAPSHOT.jar demo3.jar
#暴露端口
EXPOSE 8081
#启动项目
ENTRYPOINT ["java","-jar","demo3.jar"]

先clean清空

在这里插入图片描述

在这里插入图片描述

把打好的jar包移动到和Dockerfile同级目录

在这里插入图片描述

现在使用idea连接ssh工具

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

然后开始操作!!!

进去目录(记得退出之前创建的镜像centos,然后记得把8081端口杀掉不然启动会冲突)

cd /usr/local

构建镜像

 docker build -f Dockerfile -t demo3:1.0 .

启动构建的镜像

 docker run --name demo3 -p 8081:8081 -d demo3:1.0

访问端口 成功!!!

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值