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.yml文件
也可以直接使用docker-compose直接啟動
version: '3'
services:
mydemo:
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