您的位置:首页 > 运维架构 > Docker

在Mac上通过Docker部署SpringBoot项目

2020-06-01 04:42 316 查看

一个SpringBoot测试项目:
依赖只有web模块:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

只有一个controller用来接收请求:

@RestController
public class HelloController {

@GetMapping("/")
public String hello(){
return "<h1>hello</h1>";
}

}

把项目打包:

打包完成后,会在target目录下生成一个jar包:

把生成的jar放到桌面,为了方便,这里把这个jar包改名为hello.jar。

普通的启动项目是使用

java -jar hello.jar
命令。

然后通过本机的
ip加端口号
就可以访问了(192.168.0.106是我mac电脑的IP地址),停止项目可以使用
control+c
快捷键来停止项目的运行。(不过使用这条命令可能会有其他一些问题(例如环境的版本问题,不兼容等等),所以接下来,我们就所有docker来部署)

在桌面新建一个名为Dockerfile的文件。(没有后缀名的,可以先创建一个Dockerfile.txt文件,编写完后,再把.txt后缀去掉)
编写Dockerfile文件

FROM java:8
VOLUME /tmp
ADD hello.jar /hello.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/hello.jar"]

然后先连接服务器。(我这里连接了本机的虚拟机linux系统,linux里已经下载了docker)

我的是mac系统,所有可以在终端使用scp命令把mac电脑上的文件复制到linux中。

cd /Users/pro/Desktop/
scp -r hello.jar Dockerfile root@10.211.55.17:/mydocker/springboot


然后在linux中查看,文件已经成功上传了。

在linux中构建镜像(docker可以看我之前学习的Docker基础入门学习笔记

# . 必须加,是代表当前目录下
docker build -t hello .


使用

docker images
就可以看到构建好的hello镜像了。

使用

docker run -d -p 8080:8080 --name hello1 hello
运行hello镜像获取对应的容器。
然后就可以用
docker ps
看到我们已经启动的hello容器了。

此时就可以通过linux上的ip加端口号进行访问了。(10.211.55.17是我linux的IP地址)

运行的容器可以通过

docker stop 容器id
进行停止。
通过
docker start 容器id
启动已经停止的容器。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: