Spring Boot项目部署到docker
- 将Spring Boot项目打成jar包,拷贝到工作目录,创建dockerfile文件,用于build后面的docker镜像
// 举个例子,我的工作目录为 /DockerDev, 打包后的jar为 blog-server.jar
$ pwd
/DockerDev
$ ls
blog-server.jar
dockerfile
- 编辑dockerfile
# Docker image for springboot file run
# VERSION 0.1
# Author: sleepyocean
# 基础镜像使用java
FROM java:8
# 将jar包复制到容器中的/sleepy目录下,并更名为so-blog-server.jar
COPY blog-server.jar /sleepy/so-blog-server.jar
#对外端口
EXPOSE 9999
#执行命令 java -jar so-blog-server.jar
CMD ["java", "-jar", "/sleepy/so-blog-server.jar"]
- 构建镜像
// 在工作目录下(如/DockerDev)执行镜像构建命令, 构建镜像的名称为 blogserver:0.1(blogserver 为镜像名, 0.1为镜像的tag), 注意最后的'.'别忘了
$ docker build -t blogserver:0.1 .
- 启动容器
// 查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
blogserver 0.1 xxxxxxxxxxx 8 minutes ago 705MB
// 启动创建好的镜像
$ docker run -d -p 9999:9999 --name blogserver --link zen_engelbart:localhost blogserver:0.1
由于要引入mysql,所以需要添加链接到另一个容器,使用–link。
--link
: 添加链接到另一个容器,格式为: docker中启动mysql镜像的容器名称 : 需要映射的名称
这里我在spring boot中配置的数据库连接:url: jdbc:mysql://localhost:3306/test
,所以我这里映射的名称为localhost