使用Docker构建微服务(七) - 使用Dockerfile构建Docker镜像

下面我们以microservice-discovery-eureka项目为例,我们首先执行

mvn clean package # 使用Maven打包项目

将项目构建成jar包:microservice-discovery-eureka-0.0.1-SNAPSHOT.jar ,那么如果我们想要启动项目则只需要在microservice-discovery-eureka-0.0.1-SNAPSHOT.jar所在的目录(即项目的target目录)执行:

java -jar microservice-discovery-eureka-0.0.1-SNAPSHOT.jar

那么如果我们现在想要将项目在Docker容器中运行,需要怎么做呢?

使用Dockerfile构建Docker镜像

  • microservice-discovery-eureka-0.0.1-SNAPSHOT.jar所在目录(默认即:项目构建后的target目录,当然也可以将jar文件拷贝到其他任意路径),创建文件,命名为Dockerfile
# 基于哪个镜像
FROM java:8

# 将本地文件夹挂载到当前容器
VOLUME /tmp

# 拷贝文件到容器,也可以直接写成ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar /app.jar
ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'

# 开放8761端口
EXPOSE 8761

# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • 构建docker镜像,执行:

(全文完)

(转载本站文章请注明作者和出处 使用Docker构建微服务(七) - 使用Dockerfile构建Docker镜像