Dockerfile文件
FROM openjdk:8-jdk-alpine MAINTAINER "镜像维护者的姓名和邮箱地址" WORKDIR app ADD demo.jar /app/demo.jar ENV TIME_ZONE=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone EXPOSE 8081 CMD java -jar -Xms512M -Xmx512M -Duser.timezone=GMT+8 /app/demo.jar
demo.jar是运行的jar包的名字,根据自己的来
EXPOSE 后面的端口跟jar包启动的端口即可
然后把运行的demo.jar放到和Dockerfile放在同一个目录下
然后执行
docker build -t mydemo:1.0 .
说明:docker build -t 新镜像名字:TAG .
打印
Sending build context to Docker daemon 17.29MB Step 1/6 : FROM openjdk:8-jdk-alpine ---> a3562aa0b991 Step 2/6 : MAINTAINER "镜像维护者的姓名和邮箱地址" ---> Using cache ---> 16e8e339e102 Step 3/6 : WORKDIR app ---> Using cache ---> 995ea3982a9b Step 4/6 : ADD demo.jar /app/demo.jar ---> Using cache ---> 6126614408ad Step 5/6 : EXPOSE 8881 ---> Using cache ---> 2460834128af Step 6/6 : CMD java -jar /app/demo.jar ---> Using cache ---> 0206019397cb Successfully built 0206019397cb Successfully tagged mydemo:1.0
使用
docker images
运行镜像
docker run -dp 8080:8881 mydemo:1.0
也可以直接使用docker-compose直接启动
version: '3'
services:
connect:
build:
context: . #Dockerfile 所在目录
dockerfile: Dockerfile
image: file-server #镜像名称
restart: unless-stopped
network_mode: "host"
privileged: true
container_name: file-server #容器名称
environment:
- TZ=Asia/Shanghai
volumes:
- /logs:/logs
ports:
- 8080:8080