在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启动已经停止的容器。
相关文章推荐
- Docker - 通过IDEA和Dockerfile部署springboot项目
- IDEA通过DockerFile部署Springboot项目到服务器
- Mac下部署springBoot项目到Docker中(demo)
- 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行
- mac和linux下使用Docker,部署SpringBoot项目到docker
- Docker 入门到实战教程(十一)部署Vue+SpringBoot 前后端分离项目
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- SpringBoot2.X在Docker中的部署(二)——SpringBoot2.X项目创建
- Docker部署springboot项目
- Docker部署Spring-boot项目的示例代码
- docker 部署springBoot项目
- Docker中部署SpringBoot项目
- spring-boot dubbo项目使用docker方式部署
- Docker 部署 SpringBoot 项目
- SpringBoot+Docker实现项目的Maven打包&镜像构建&容器中运行==简单自动化部署
- docker 中部署一个springBoot项目
- Mac下 Docker部署SpringBoot应用
- docker 部署springboot项目,解决容器启动成功但是浏览器访问不成功的问题
- 使用Docker部署Spring boot项目
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo