目录

1. 项目准备

2. 项目打包测试

3. docker配置

3.1  服务器端配置

3.2 开发IDEA配置

3.3 创建dockerfile


写在前面: 这博客一晃鸽了好久了,其实不是没有创作,只是懒得写博客了.日常都记录在自己的语雀小本本上了.好久没有出保姆级教程了,这次忽然想通过idea直接部署到服务器,以前的过程有些忘了,没想到回过头来,又浪费几个小时踩坑,所以啊,同学们一定要记好笔记 !!!

废话不多说,开始干货教程.

1. 项目准备

 1. 一个好的保姆级别的项目就应该,从创建项目开始.

  • 项目服务器URL使用阿里云的国内镜像,原因有二:
    • 不用翻墙,搞的快
    • 官网不支持创建java8

2. 勾个快速启动的毛坯项目就差不多了.

3. 项目创建完成后,阿里云会给创建demo接口.我们就直接拿过来测试用.项目的精神面貌和下面这样:

4. 创建新项目后,必须要做的两步检查!!!!

(1) 点击设置 -> 项目结构

        配置项目结构SDK和语言级别.

        配置模块 下的源和依赖 的语言级别和模块SDK.

(2) 检查设置 -> 构建\执行\部署 -> 构建工具 -> Maven,确保为你本地配置.

5. 环境已备,一键起飞

        找到启动类, 启动测试一下. 都是ok的.

        进入浏览器访问,也是正常的.

2. 项目打包测试

1. 项目打包测试,其实是有坑的.时间长了,有些配置忘了,再次排除问题就会很浪费时间.

需要记住,将pom文件中的,这样打出的jar才可以通过java -jar 执行

skip>true</skip> 更改为  skip>false</skip> 

 关于这个参数我就不多赘述了,可以自定AI提问学习一下.

2.  执行maven的clean 和package

3. 进入到target目录下

4. 执行 java -jar jar名称

 5. 网页测试都是ok的

3. docker配置

3.1  服务器端配置

1. 进入服务器,查看docker配置

vim /etc/docker/daemon.json

{
    "data-root": "/var/lib/docker",
    "log-driver": "json-file",
    "log-level": "warn",
    "log-opts": {
        "max-file": "3",
        "max-size": "10m"
    },
    "max-concurrent-downloads": 10,
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com",
        "https://docker.m.daocloud.io",
        "https://ghcr.io",
        "https://mirror.baidubce.com",
        "https://docker.nju.edu.cn"
    ],
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
  "hosts": [
    "unix:///var/run/docker.sock",
    "tcp://0.0.0.0:2375"
  ]
}

 这里需要注意的是hosts配置,远程开放端口为2375.(上述配置可直接复制.)

2. 重新启动docker服务

systemctl restart docker

踩坑记录:

        这里有可能会出现冲突,如果出现问题,执行,然后将我框起来地方修改为和我一致.

sudo vim /usr/lib/systemd/system/docker.service

这里补充几个快捷命令:

1. 查看docker日志

journalctl -u docker.service --no-pager

2. 查看远程端口状态

netstat -tuln | grep 2375

3. 完成docker重启后,开放防火墙端口

sudo firewall-cmd --permanent --add-port=2375/tcp
sudo firewall-cmd --reload

很好,到此处,服务端配置已经完成.

3.2 开发IDEA配置

1. 插件准备

        idea应用商店下载docker插件,如下所示:

2. 进入 设置 -> 构建\执行\部署 -> Docker 下, 新增 doker配置.如下所示:

  • 勾选 右侧的TCP套接字
  • 输入引擎URL,这里为ip为你服务器的ip,端口号保持不变: tcp://192.168.64.155:2375 
  • 如果连接成功,下方会进行提示.

3. 配置启动

(1) 点击编辑配置

(2) 左上角点击➕,然后选择Docker - > Dockerfile

  • 配置执行前项目到打包清理命令
clean package -U -DskipTests

点击应用,然后确定,

3.3 创建dockerfile

        1. 在项目的根目录下创建dockerfile,如下所示:

内容如下:

# 使用 OpenJDK 8 基础镜像
FROM openjdk:8

# 暴露 8080 端口
EXPOSE 8080

# 定义 JAR_FILE 参数,默认值为你打包的 JAR 文件名
ARG JAR_FILE=docker-test-demo-0.0.1-SNAPSHOT.jar

# 将构建的 JAR 文件添加到容器中,并重命名为 docker-test-demo-1.jar
ADD target/${JAR_FILE} /docker-test-demo-1.jar

# 设置启动命令
ENTRYPOINT ["java", "-jar", "/docker-test-demo-1.jar"]

2. 执行配置的docker-start

构建日志:

容器启动日志:

3. 网页访问测试

开放端口:
sudo firewall-cmd --permanent --add-port=8888/tcp
sudo firewall-cmd --reload

很好,现在已经大功告成! 接下来, 你就可以愉快的摸鱼了.文章全程从项目创建到部署配置,有图有结果, 真实可靠,同学少走弯路吧~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐