使用docker简单启动springboot项目
Posted 在谷歌上百度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker简单启动springboot项目相关的知识,希望对你有一定的参考价值。
搭建docker环境
需要linux系统必须是centOS7以上
执行如下命令:
yum install epel-release –y
yum clean all
yum list
安装docker
yum install docker-io –y
systemctl start docker
测试docker是否成功
docker info
出现如下信息证明成功:
········
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: httpss://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
Registries: docker.io (secure)
创建Dockerfile文件内容如下:
FROM java:8
MAINTAINER 70kg 449246146@qq.com
VOLUME /tmp
ADD mystory-1.0.0-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
介绍一下:
- FROM :表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载
- MAINTAINER :指定维护者的信息
- VOLUME :VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
- ADD :拷贝文件并且重命名(前面是上传jar包的名字,后面是重命名)
- RUN :每条run指令在当前基础镜像执行,并且提交新镜像
ENTRYPOINT :为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
创建基础镜像
将创建好的Dockerfile文件和jar包上传到服务器,放在同一文件夹下,进入jar包所在文件夹,执行命令
注意:后面末尾有一个空格和一个“.”,mystory是创建的镜像的名字,“.”表示当前目录
docker build -t mystory .
查看生成的镜像:
docker images
创建容器并运行jar包
docker run -d -p 8080:8080 mystory
- -d表示在后台运行
- -p 指定端口号 第一个8080为容器内部的端口号,第二个8080为外界访问的端口号,将容器内的8080端口号映射到外部的8080端口号
如果想用域名来访问的话,需要把数据库连接改为服务器的ip+数据库端口号,并且命令改为:docker run -d -p 80:80 mystory
测试
外网ip+端口号访问项目
如果是用阿里的ECS需要改实例安全组开放3306端口和8080端口,点这里
ok~
以上是关于使用docker简单启动springboot项目的主要内容,如果未能解决你的问题,请参考以下文章
2021-07-07 idea使用Alibaba Cloud Toolkit插件一键部署SpringBoot项目到Docker
185-在idea中创建springboot项目启动时出现java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle错误(示例代