docker使用dockerfile方式运行java程序

docker使用dockerfile方式运行java程序

1,下载基础java环境镜像java:8
2,创建文件夹并进入:

mkdir dockerfile
cd dockerfile

3,打包好的jar文件 放入此此文件夹
4,创建dockerfile文件

vim dockerfile
# 基础镜像
FROM openjdk:8u302-jdk
# 作者信息
MAINTAINER liutiangang
# 容器目录分配数据卷
# VOLUME /tmp
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 拷贝jar 把可执行jar包复制到基础镜像的根目录下
ADD javaapp.jar /javaapp.jar
# 设置暴露的端口号
EXPOSE 8082 8082
# 在镜像运行为容器后执行的命令
ENTRYPOINT ["java","-jar","javaapp.jar","-XX:+UnlockExperimentalVMOptions","XX:+UseCGroupMemoryLimitForHeap"]

保存退出
5,生成镜像 直接带本地仓库名 生成后可直接推送到本地库

docker build -t ip:5000/javaapp .

6,推送到本地库 在集群环境需要推送到本地库 使用portainer界面时 才能发现此镜像

docker push ip:5000/javaapp

7,启动服务

docker service create --name javaappservice --replicas 1 --publish published=8082 ,target=8082  ip:5000/javaapp

8,或者直接在portainer界面里添加服务

service->add service
name 给服务起个名
image 添加 刚才生成好的镜像 ip:5000/javaapp
Port mapping 添加映射端口
点击 create the service 创建并运行服务

你可能感兴趣的:(docker,java)