使用docker简单启动springboot项目

julien 2020-03-08

搭建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 
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~

相关推荐