Dockerfile

Dockerfile概述
使用dockerfile主要是用于构建docker镜像文件信息,相当于一个脚本,通过dockerfile自己的指令,来构建软件依赖,文件依赖,存储等等情况。
Dockerfile使用
在docker中创建镜像可以分为两个方法,这两个方法具体可以总结为如下:
• 手动修改容器内容,然后docker commit提交容器为新的镜像文件
• 通过在dockerfile中定义一系列的命令和参数构成的脚本,然后这些命令应用于基础镜像,依次添加层,最终生成一个新的镜像,这样就极大的简化了部署的工作。


Dockerfile组成部分
dockerfile的主要组成部分可以汇总为:
• 基础镜像信息
• 制作镜像操作指令 RUM
• 容器启动时执行指令CMD["/bin/bash"]
 
Dockerfile基本指令
dockerfile的指令主要可以汇总为如下,使用dockerfile的前提是学习会这些指令的基本使用,具体如下:
FROM #指令基础镜像
MAINTAINER #指定维护者信息,也可以没有
RUN #具体执行的操作,在命令前面加上RUN即可
ADD #COPY文件,会自动进行解压
WORKDIR #设置当前工作目录
VOLUME #设置卷,挂载主机目录
EXPOSE #指定对外的端口
CMD #指定容器启动后需要干的事情
COPY #复制文件
ENV #环境变量
ENIRYPOINT #容器启动后执行的命令
 
FROM centos:7.8.2003
MAINTAINER 蒋佳伟
#定义一个变量,变量的值是Docker
ENV name Docker
#运行程序,输出变量的值
ENTRYPOINT echo "Hello $name"

 

 

 

 

 

 
1、docker scan 输入命令后,再输入y同意安全扫描
2、登录到docker hub的账户
docker login 输入后,输入docker hub的账户和密码
3、再次开始构建镜像
docker build -t 镜像名称 -f 镜像信息文件名
docker build -t centos_name -f Dockerfile .
4、运行镜像
docker run -it --rm 镜像名称
docker run -it --rm centos_name

 环境部署基本流程:
1、开发编写完代码进行自测
2、编写Dockerfile来构建镜像
3、执行编写的Dockerfile的文件
4、执行Dockerfile文件成功后,也就是构建镜像成功
5、使用docker images,就可以查看到构建成功的镜像信息
6、把镜像导出,发送给测试同学
7、测试再导入,使用docker run来运行这个镜像,运行成功后,环境部署OK
8、开始测试验证

SpringBoot SpringCloud
代码 maven

mvn clean #清空,现象就是target的文件夹就会消失
mvn package #把服务(应用程序)打包成jar文件,现象就是在项目的目录下出现了target的文件夹,打包成功的jar世纪就是在target的文件夹里面。
运行jar的命令:
java -jar xxx.jar.

 

 

 

 

 构建jar的过程:
1、Dockerfile的文件内容
FROM centos:7.8.2003
FROM java:8
MAINTAINER 无涯
#复制文件到容器目录
COPY app-0.0.1-SNAPSHOT.jar /opt
#切换目录
WORKDIR /opt
#启动服务
EXPOSE 8081
CMD ["java","-jar","app-0.0.1-SNAPSHOT.jar"]

2、构建过程输出的信息
docker build -t app -f Dockerfile .
Sending build context to Docker daemon 20.71MB
Step 1/7 : FROM centos:7.8.2003
9b4ebb48de8d: Pull complete
Digest: sha256:8540a199ad51c6b7b51492fa9fee27549fd11b3bb913e888ab2ccf77cbb72cc1 72.16MB/75.84MB
Status: Downloaded newer image for centos:7.8.2003
---> afb6fca791e0
Step 2/7 : FROM java:8
---> d23bdf5b1b1b
Step 3/7 : MAINTAINER 无涯
---> Running in b97b80f46b67
Removing intermediate container b97b80f46b67
---> d9962fde275e
Step 4/7 : COPY app-0.0.1-SNAPSHOT.jar /opt
---> 0c8fd75ff9c3
Step 5/7 : WORKDIR /opt
---> Running in ea2565ea3e3f
Removing intermediate container ea2565ea3e3f
---> fbbf8937dd53
Step 6/7 : EXPOSE 8081
---> Running in 1d1199761fbc
Removing intermediate container 1d1199761fbc
---> cf1246271644
Step 7/7 : CMD ["java","-jar","app-0.0.1-SNAPSHOT.jar"]
---> Running in 497a8773abb1
Removing intermediate container 497a8773abb1
---> 698e80959c86
Successfully built 698e80959c86
Successfully tagged app:latest
3、查看镜像 docker images
4、运行镜像
docker run --rm -p 8081:8081 app

 

 

 

 

 

 http://localhost:8081/testDev
http://localhost:8081/hello
localhost==127.0.0.1

运行jar的命令:
java -jar xx.jar

 

 

 

 

 
 
 
 
posted @ 2021-12-26 22:19  蒋佳伟  阅读(152)  评论(0)    收藏  举报