环境准备
1.一个SpringBoot项目
2.服务器docker
2.1一键安装docker
curl -sSL https://get.daocloud.io/docker | sh
image.png
2.2启动docker
systemctl start docker
image.png
2.3 docker需要开放端口
vim /usr/lib/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd 后面加上 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
image.png
2.4重启docker
systemctl daemon-reload
systemctl restart docker
2.5测试端口是否开启成功
本机win+r 输入cmd控制台输入
telnet ip 端口
弹出小黑框代表成功
image.png
image.png
3.打开idea项目
创建dockerfile文件,注意你加入jar包需要和你的项目一样(springboot_docker_demo-0.0.1-SNAPSHOT.jar)
#使用jdk8作为基础镜像
FROM java:8
#指定作者
MAINTAINER tom
#暴漏容器的8088端口
EXPOSE 8088
#将复制指定的docker-demo-0.0.1-SNAPSHOT.jar为容器中的job.jar,相当于拷贝到容器中取了个别名
ADD target/springboot_docker_demo-0.0.1-SNAPSHOT.jar /job.jar
#创建一个新的容器并在新的容器中运行命令
RUN bash -c 'touch /job.jar'
#设置时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#相当于在容器中用cmd命令执行jar包 指定外部配置文件
ENTRYPOINT ["java","-jar","/job.jar"]
image.png
我的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>pyf.example.docker</groupId>
<artifactId>springboot_docker_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_docker_demo</name>
<description>springboot一键部署docker</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
3.1在idea中安装docker插件,重启idea
image.png
3.2配置docker
image.png
TCP socket输入服务器的ip地址和端口(ip+2375)
image.png
3.3配置对应项目
image.png
3.4配置对应的dockerfile文件和对应的端口号
image.png
配置启动打包项目,在框内输入clean,package
image.png
3.5启动
image.png
image.png
3.6访问网页,成功!
image.png
3.7查看服务器上的docker
image.png
image.png