将java项目部署到docker容器中运行

docker部署一个简单的javaweb项目到容器中运行

(无任mysql 等其他依赖)

1.将项目打成jar包, 通过xftp 上传linux 某目录,此处在/data/app目录下

将java项目部署到docker容器中运行_第1张图片

2.在jar包所在的位置创建一个Dockerfile 文件 (保证jar包和Dockerfile 在同一个目录下)

2.1创建Dockerfile文件

将java项目部署到docker容器中运行_第2张图片

2.2在DockerFile文件里加入一下代码

将java项目部署到docker容器中运行_第3张图片

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端口暴露出去)
将java项目部署到docker容器中运行_第4张图片

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包)

3.指定刚才的创建的镜像创建容器

3.1运行以下命令:

意思是创建一个docker镜像名字为java -app Dockerfile 所在路径为当前路径
-t 指定名称 为java-app
. 表示指定Dockerfile文件的路径为当前的路径

[root@101 app]# docker build -t java-app .

将java项目部署到docker容器中运行_第5张图片

3.2查看镜像是否创建成功

 docker images

将java项目部署到docker容器中运行_第6张图片

4.创建容器

-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

将java项目部署到docker容器中运行_第7张图片

5.测试访问

将java项目部署到docker容器中运行_第8张图片

访问地址: http://106.13.5.101:8081/web

将java项目部署到docker容器中运行_第9张图片

最后附上个人的笔记地址:链接

你可能感兴趣的:(dokcer,java,docker,linux)