目标
使用Springboot构建Java应用程序,将其打包到jar程序包中,以在本地计算机上启动build docker映像,并使用容器运行服务。
实验过程
首先我们参考 这个spring官方教程构建一个springboot的应用
然后我们创建一个文件夹来管理所有用到的文件,目录结构如下:
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> pwd
/Users/xiexiyang/developer/docker
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> tree -L 2
.
├── Dockerfile //Dockerfile 文件
├── demo //源代码文件
│ ├── HELP.md
│ ├── demo.iml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├──
│ ├── src
│ └── target
├── jar
│ └── // 打包编译出来的jar包
└── jdk1.8.0_281 // jdk 文件
├── COPYRIGHT
├── LICENSE
├── README.html
......
然后我们在demo目录下执行 mvn clean package 可以生成对应的jar包,然后将这个jar包拷贝到 /Users/xiexiyang/developer/docker/jar目录下。
在上一级目录中创建Dockerfile文件,内容如下:
开始构建
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker build -t lepfinder/springboot-demo:1.0 .
Sending build context to Docker daemon 393.1MB
Step 1/9 : FROM cento
---> f1cb7c7d58b7
Step 2/9 : RUN mkdir -p /data/Application/
---> Running in 4016eb2b3b69
Removing intermediate container 4016eb2b3b69
---> c4ffe36412bd
Step 3/9 : COPY . /data
---> f164f3957b91
Step 4/9 : COPY ./jar/ /data/Application/jar
---> f0d8ffdfcbad
Step 5/9 : ENV JAVA_HOME /data
---> Running in 561f570ce5ec
Removing intermediate container 561f570ce5ec
---> d9c20e5b2e8c
Step 6/9 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in 85867b46338c
Removing intermediate container 85867b46338c
---> 9eede9cd87ac
Step 7/9 : WORKDIR /data/Application/jar/
---> Running in 843dce769f09
Removing intermediate container 843dce769f09
---> b51ad22548b3
Step 8/9 : EXPOSE 8080
---> Running in 663b8974301c
Removing intermediate container 663b8974301c
---> bf3b8cd0fb7e
Step 9/9 : ENTRYPOINT ["java","-jar",""]
---> Running in 7f8d939ba854
Removing intermediate container 7f8d939ba854
---> f58627f00d30
Successfully built f58627f00d30
Successfully tagged lepfinder/springboot-demo:1.0
查看镜像是否生成
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lepfinder/springboot-demo 1.0 f58627f00d30 42 seconds ago 576MB
ubuntu latest 4e2eef94cd6b 6 months ago 73.9MB
redis latest 1319b1eaa0b7 7 months ago 104MB
mysql latest 0d64f46acfd1 7 months ago 544MB
启动容器
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker run -d -p 8080:8080 lepfinder/springboot-demo:1.0 --name myapp
3c9817ae550ae454eab7aef5ba881fab6bea40bd7ba0f89691c53564a97ab891
查看运行的镜像
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c9817ae550a lepfinder/springboot-demo:1.0 "java -jar springboo…" 21 seconds ago Up 20 seconds 0.0.0.0:8080->8080/tcp stoic_hoover
d91c441d9e42 mysql "docker-en…" 3 days ago Up 3 days 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
验证是否启动成功
在浏览器中输入 http://localhost:8080/hello
查看镜像内部
docker exec -it 3c9817ae550a /bin/bash
停止容器
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker stop 3c9817ae550a
3c9817ae550a
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d91c441d9e42 mysql "docker-en…" 3 days ago Up 3 days 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
删除容器
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker rm 3c9817ae550a
3c9817ae550a
删除镜像文件
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker image rm f58627f00d30
Untagged: lepfinder/springboot-demo:1.0
Deleted: sha256:f58627f00d305fd10a9e4fb946dfe36842a00aaa83786cc8b17208559e6dddb4
Deleted: sha256:bf3b8cd0fb7eb77c7abbdffcff24f23c6a2db164a00f03894afdb4c2cc732ff7
Deleted: sha256:b51ad22548b3f8cae5f0695f404339553a0f63bd9b810848674eaaa0dcad9e46
Deleted: sha256:9eede9cd87ac754a88e6f4b47ec116e54e0e2aecf1c83eb4c61fdea27160980f
Deleted: sha256:d9c20e5b2e8c6db673e8ae550cd6beea8f5cc272c9697e78200abed71fac1f9e
Deleted: sha256:f0d8ffdfcbadc4ae5dde46f4e948baa11c3cb189f39d6b45cc47613cb7298b62
Deleted: sha256:6209e5afc6193f78bc5a212dd26e11f0850a883df62ba870f2f109674e08fe8c
Deleted: sha256:f164f3957b91b400fd6ddfcd4e718a7b42ff26df5d9798fbf45265feb31bf728
Deleted: sha256:933120e6ec7840be41e562c2615ed60a65350c73096058e05267b482fd3280a2
Deleted: sha256:c4ffe36412bdd1b0fd953e4f3d6a0d5be2e2068bb0a1ad1807dc6b393912a3b1
Deleted: sha256:244cf05a2a7500a2d435f7e0a999f10f471117f7503817e91eb3da514d6baa66
xiexiyang@xiexiyangdeMacBook-Pro-2 ~/d/docker> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 4e2eef94cd6b 6 months ago 73.9MB
redis latest 1319b1eaa0b7 7 months ago 104MB
1.《手把手教你构建一个springboot的docker镜像》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《手把手教你构建一个springboot的docker镜像》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.cxvn.com/gl/djyxgl/189333.html