- 在jar包同級(jí)目錄新建個(gè)Dockerfile文件內(nèi)容如下:
FROM java:8
VOLUME /tmp
ADD DockerDemo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
FROM java:8获黔,表示基鏡像是java8VOLUME /tmp钱雷,表示 指定臨時(shí)文件目錄為/tmp巡雨。其效果是- 在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件纵隔,并鏈接到容器的/tmp。該步驟是可選的ADD
DockerDemo-0.0.1-SNAPSHOT.jar app.jar嘹承,表示將jar包添加到鏡像中窗价,并重命名
app.jarEXPOSE 8080,表示暴露的端口是8080ENTRYPOINT ["java","-jar","/app.jar"]赶撰,表示啟動(dòng)時(shí)運(yùn)行 java -jar app.jar
2.編寫啟動(dòng)腳本startup.sh
APPNAME=dockerdemo
PORT=8080
docker build -t $APPNAME .
docker run -d -h 127.0.0.1 --name $APPNAME -p $PORT:$PORT $APPNAME
鏡像名稱必須小寫(如dockerdemo)舌镶,大寫啟動(dòng)會(huì)報(bào)錯(cuò)docker build -t APPNAME 是鏡像名稱豪娜;“.”表示Dockerfile在當(dāng)前路徑下餐胀。docker run -d -h 127.0.0.1 --name
PORT:
APPNAME 運(yùn)行鏡像,端口映射為8080
3.編寫停止腳本shutdown.sh
APPNAME=dockerdemo
docker ps -a | grep "$APPNAME" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "$APPNAME" | awk '{print $1 }'|xargs docker rm
docker images|grep "$APPNAME"|awk '{print $3 }'|xargs docker rmi