idea使用Docker部署项目到服务器的全过程

一.基本环境

1. idea
2. CentOS7.3服务器
3. docker
4. springboot项目

二、服务器配置docker远程连接

1.修改宿主机配置文件

vi /lib/systemd/system/docker.service
ExecStart 开头的这一行末尾添加 -H tcp://0.0.0.0:2375

idea使用Docker部署项目到服务器的全过程_第1张图片
2.重启docker

systemctl daemon-reload && systemctl restart docker

3.防火墙开放端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent

4.通过外网访问测试成功

http://ip地址:2375/version

idea使用Docker部署项目到服务器的全过程_第2张图片

三、idea使用docker部署项目

  1. idea安装docker插件
    idea使用Docker部署项目到服务器的全过程_第3张图片
  2. 配置远程连接dockeridea使用Docker部署项目到服务器的全过程_第4张图片
    连接成功后我们便可查看docker下的容器和镜像idea使用Docker部署项目到服务器的全过程_第5张图片
  3. 配置项目 pom.xml 文件
<properties>
    <docker.image.prefix>docker-demo</docker.image.prefix>
</properties>
<build>
    <plugins>
        <!-- maven打包插件 -> 将整个工程打成一个 fatjar -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- docker构建插件 -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <configuration>
            	<!-- 生成的docker镜像名称  -->
                <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
        <!-- 复制jar包到指定目录 -->
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <configuration>
                        <tasks>
                            <copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  1. 在项目 src/main 目录下创建 docker 目录与 Dockerfile 文件
# 指定基础镜像 这里springboot项目运行只需要java jdk环境即可
FROM java:latest
# 维护者信息
MAINTAINER zq
# 将本地的可执行文件拷贝到Docker容器中的根目录下
COPY app.sh /
#给app.sh赋予可执行权限
RUN chmod +x /app.sh
# 重命名
ADD *.jar app.jar
# 对外暴漏的端口号
EXPOSE 9100
# 运行
ENTRYPOINT ["/app.sh"] # 方式一
#ENTRYPOINT ["java", "-jar", "app.jar"]  # 方式二

上面方式一中需要的 app.sh 文件内容如下

#!/bin/bash
java -jar app.jar
  1. 配置运行
    idea使用Docker部署项目到服务器的全过程_第6张图片
    idea使用Docker部署项目到服务器的全过程_第7张图片
    点击运行
    在这里插入图片描述
    构建成功之后如下:
    idea使用Docker部署项目到服务器的全过程_第8张图片
    选择 Log 即可查看项目输出日志信息!]idea使用Docker部署项目到服务器的全过程_第9张图片
  2. 最后浏览器测试访问成功
    idea使用Docker部署项目到服务器的全过程_第10张图片

你可能感兴趣的:(SpringBoot,JAVA,Docker,docker,intellij-idea,服务器)