idea 连接远程 docker 并部署项目到 docker

1. idea 连接远程 docker

1.1 安装 docker 插件

idea 连接远程 docker 并部署项目到 docker

1.2 登录远程服务器,修改docker配置

(1) 修改 docker.service 文件,位于 /usr/lib/systemd/system/docker.service

idea 连接远程 docker 并部署项目到 docker

打开该文件,将原来的 ExecStart 前面加上#号注释掉,在该行下面添加 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

[Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutStartSec=0 RestartSec=2 Restart=always 

(2) 重新加载配置
systemctl daemon-reload

(3) 重启 docker 服务
systemctl restart docker.service

1.3 添加云服务器防火墙规则

idea 连接远程 docker 并部署项目到 docker

1.4 idea 配置连接 docker

打开 idea,打开 Setting,在 docker 项配置云服务器tcp://公网IP:2375,点击 ok 即可连上 docker,如下图:

idea 连接远程 docker 并部署项目到 docker

然后,就可以在 Services 中看到 docker 了

idea 连接远程 docker 并部署项目到 docker

点击左边的 connect 就可以连接上 docker,可以看到 docker 中的镜像和容器信息

idea 连接远程 docker 并部署项目到 docker

2. 部署项目到 docker

2.1 创建并编写Dockerfile

我这里将dockerfile 创建在根目录下

idea 连接远程 docker 并部署项目到 docker

dockerfile 文件内容:

# 指定基础镜像 FROM openjdk:8-jre-slim # 作者 MAINTAINER gzl # 将容器的时区设置为"Asia/Shanghai" RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone # 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下 ADD target/chatgpt-api-0.0.1-SNAPSHOT.jar chatgpt-api.jar # (和项目端口号等同) EXPOSE 8080 # 在容器启动时执行该应用程序 ENTRYPOINT ["java", "-jar", "/chatgpt-api.jar"] 

2.2 运行配置

(1) 点击 Edit Configurations...

idea 连接远程 docker 并部署项目到 docker

(2) 点击左上角+,找到 dockerfile

idea 连接远程 docker 并部署项目到 docker

(3) 填写配置信息

idea 连接远程 docker 并部署项目到 docker

  • Bind ports:映射端口:项目端口
  • Before launch:
    选择Run Maven Goal,Command line 填写 clean package -U -DskipTests,表示在构建之前清理项目的目标目录,以确保没有旧的构建残留,同时跳过运行单元测试,可加快构建过程

(4) 运行
点击运行

idea 连接远程 docker 并部署项目到 docker

运行成功

idea 连接远程 docker 并部署项目到 docker

3. Nginx 配置

修改 nginx 配置

server {      listen       80;     server_name  公网ip;      # 首页     index index.html;      location / {         root   /usr/share/nginx/html;         index  index.html index.htm;     }      location /api/ {         auth_request /auth;         # 鉴权通过后的处理方式         proxy_pass http://公网ip:8080/success;     }      location = /auth {         # 发送子请求到HTTP服务,验证客户端的凭据,返回响应码         internal;         # 设置参数         set $query '';         if ($request_uri ~* "[^?]+?(.*)$") {             set $query $1;         }         # 验证成功,返回200 OK         proxy_pass http://公网ip:8080/verify?$query;         # 发送原始请求         proxy_pass_request_body off;         # 清空 Content-Type         proxy_set_header Content-Type "";      }      error_page 404 /404.html;         location = /40x.html {          }      error_page   500 502 503 504  /50x.html;      location = /50x.html {      }  } 

在浏览器使用公网ip访问

idea 连接远程 docker 并部署项目到 docker

发表评论

评论已关闭。

相关文章