(无任mysql 等其他依赖)
FROM java:8
ADD demo-0.0.1-SNAPSHOT.jar /app/docker-test.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar","/app/docker-test.jar"]
命令解释:
FROM java:8 :
指定从镜像仓库中拉取 java 镜像, :8 表示版本
ADD demo-0.0.1-SNAPSHOT.jar /app/docker-test.jar
指定将当前目录的demo-0.0.1-SNAPSHOT.jar(我们自己上传上来的jar) 添加到等会要创建的容器的 /app目录下 并且取名为docker-test.jar
EXPOSE 8888 : 将容器的指定端口暴露出去 (因为作者的spring项目的service 端口是指定的8888 所以此处将8888端口暴露出去)
ENTRYPOINT [“java”,"-jar","/app/docker-test.jar"]
指定创建镜像的时候要执行的命令:这里的意思是 启动的时候会执行 java -jar /app/docker -test.jar命令(以jar包的形式 启动 /app/docker-test.jar 因为我们在文件中指定了将我们的jar包复制到容器的 /app目录下并且取名 docker-test.jar 所以这里运行的正是前面我们ADD 命令中的jar包)
意思是创建一个docker镜像名字为java -app Dockerfile 所在路径为当前路径
-t 指定名称 为java-app
. 表示指定Dockerfile文件的路径为当前的路径
[root@101 app]# docker build -t java-app .
docker images
-d表示后台运行
-p 指定端口 映射关系 (将容器的8888端口映射到8081)
–name 指定创建容器的名称(java-web)
java app 指定创建容器的镜像为java-app(即我们刚刚创建的)
[root@101 app]# docker run -d -p 8081:8888 --name java-web java-app
访问地址: http://106.13.5.101:8081/web
最后附上个人的笔记地址:链接