docker学习三(做image)

  1. 在jar包同级目录新建个Dockerfile文件内容如下:
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,表示 指定临时文件目录为/tmp。其效果是- 在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的ADD

  • DockerDemo-0.0.1-SNAPSHOT.jar app.jar,表示将jar包添加到镜像中,并重命名

  • app.jarEXPOSE 8080,表示暴露的端口是8080ENTRYPOINT ["java","-jar","/app.jar"],表示启动时运行 java -jar app.jar

2.编写启动脚本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),大写启动会报错docker build -t APPNAME . 表示 执行编译镜像,APPNAME 是镜像名称;“.”表示Dockerfile在当前路径下。docker run -d -h 127.0.0.1 --name APPNAME -pPORT:PORTAPPNAME 运行镜像,端口映射为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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容