舜元建设集团官方网站,设计师网络语,商店设计效果图,沧州网站建设专业的公司4000-262-目录
1.Dockerfile
2.镜像结构
3.Dockerfile语法
4.构建Java项目
5.基于Java8构建项目
1.Dockerfile
常见的镜像在DockerHub就能找到#xff0c;但是我们自己写的项目就必须自己构建镜像了。
而要自定义镜像#xff0c;就必须先了解镜像的结构才行。
2.镜像结构
镜…目录
1.Dockerfile
2.镜像结构
3.Dockerfile语法
4.构建Java项目
5.基于Java8构建项目
1.Dockerfile
常见的镜像在DockerHub就能找到但是我们自己写的项目就必须自己构建镜像了。
而要自定义镜像就必须先了解镜像的结构才行。
2.镜像结构
镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。
我们以MySQL为例来看看镜像的组成结构 简单来说镜像就是在系统函数库、运行环境基础上添加应用程序文件、配置文件、依赖文件等
组合然后编写好启动脚本打包在一起形成的文件。
我们要构建镜像其实就是实现上述打包的过程。
3.Dockerfile语法
构建自定义的镜像时并不需要一个个文件去拷贝打包。
我们只需要告诉Docker我们的镜像的组成需要哪些BaseImage、需要拷贝什么文件、需要安
装什么依赖、启动脚本是什么将来Docker会帮助我们构建镜像。
而描述上述信息的文件就是Dockerfile文件。
Dockerfile就是一个文本文件其中包含一个个的指令(Instruction)用指令来说明要执行什么操
作来构建镜像。每一个指令都会形成一层Layer。 更新详细语法说明请参考官网文档 Dockerfile reference | Docker Docs
4.构建Java项目
需求基于Ubuntu镜像构建一个新镜像运行一个java项目 步骤1新建一个空文件夹docker-demo 步骤2拷贝jdk、dockerfile、jar包到docker-demo
Dockerfile内容如下
# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量JDK的安装目录
ENV JAVA_DIR/usr/local# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/app.jar# 安装JDK
RUN cd $JAVA_DIR \ tar -xf ./jdk8.tar.gz \ mv ./jdk1.8.0_144 ./java8# 配置环境变量
ENV JAVA_HOME$JAVA_DIR/java8
ENV PATH$PATH:$JAVA_HOME/bin# 暴露端口
EXPOSE 8090
# 入口java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar 步骤3运行命令 构建镜像
docker build -t javaweb:1.0
步骤4运行容器 并且访问
docker run --name web -p 8090:8090 -d javaweb:1.0 5.基于Java8构建项目
虽然我们可以基于Ubuntu基础镜像添加任意自己需要的安装包构建镜像但是却比较麻烦。所以大多数情况下我们都可以在一些安装了部分软件的基础镜像上做改造。
例如构建java项目的镜像可以在已经准备了JDK的基础镜像基础上构建。
需求基于java:8-alpine镜像将一个Java项目构建为镜像
实现思路如下 ① 新建一个空的目录然后在目录中新建一个文件命名为Dockerfile ② 拷贝课前资料提供的docker-demo.jar到这个目录中 ③ 编写Dockerfile文件 a 基于java:8-alpine作为基础镜像 b 将app.jar拷贝到镜像中 c 暴露端口 d 编写入口ENTRYPOINT 内容如下
FROM java:8-alpine
COPY ./app.jar /tmp/app.jar
EXPOSE 8090
ENTRYPOINT java -jar /tmp/app.jar ④ 使用docker build命令构建镜像 ⑤ 使用docker run创建容器并运行