idea 连接远程 docker

1. 安装 docker 插件

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

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

打开该文件,将原来的 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

3. 添加云服务器防火墙规则

4. idea 配置连接 docker

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

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

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

部署项目到 docker

1. 创建并编写Dockerfile

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

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. 运行配置

(1) 点击 Edit Configurations...

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

(3) 填写配置信息

  • Bind ports:映射端口:项目端口
  • Before launch:

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

(4) 运行

点击运行

运行成功

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 {
} }

idea 连接远程 docker 并部署项目到 docker的更多相关文章

  1. SpringBoot使用Docker快速部署项目

    1.简介 建议阅读本文最好对Dokcer有一些了解 首先我们先了解一下Docker是什么 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器 ...

  2. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. IDEA远程部署项目到Docker

    前言 最近在写东西部署到服务器,结构是springboot工程配合docker部署. 但是每次部署都3个步骤: 本地构建jar 复制jar到远程服务器 用DockerFile构建镜像 部署次数一多,我 ...

  4. Idea连接服务器docker并部署代码到docker实现一键启动

    好记性不如烂笔头,写笔记是为了回头看的. 谁要是不小心搜了看了,如有不足之处敬请谅解. 一.准备工作 虚拟机centos7.X,docker1.3.X,Win10 Idea2018.1 默认Idea已 ...

  5. Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  6. linux下docker安装部署项目(全)

    一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2.  配置系统 1.2.1  在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...

  7. idea中使用docker插件部署项目

    安装docker 如果你之前安装过 docker,请先删掉 sudo yum remove docker docker-common docker-selinux docker-engine 安装一些 ...

  8. idea 部署项目到 docker 运行

    1.在远程服务器上开启 docker 远程连接 $vim /usr/lib/systemd/system/docker.service # ExecStart=/usr/bin/dockerd -H ...

  9. docker中部署项目时遇到的问题

    容器和宿主机时间不同步问题? 将本地时间复制到docker容器内的etc文件夹下即可 docker cp /etc/localtime scrapy_8:/etc/ 启动crontab错误? 报错: ...

  10. idea远程调试tomcat部署项目(windows环境)

    1.tomcat启动之前,修改apache-tomcat-8.5.34\bin\catalina.bat文件,设置调试端口 如下设置(windows环境): rem ----------------- ...

随机推荐

  1. 聊一聊Java中的Steam流

    1 引言 在我们的日常编程任务中,对于集合的制造和处理是必不可少的.当我们需要对于集合进行分组或查找的操作时,需要用迭代器对于集合进行操作,而当我们需要处理的数据量很大的时候,为了提高性能,就需要使用 ...

  2. Visual Studio C# 多环境配置 Web.config

    目录 添加解决方案配置 添加配置转换 添加应对的配置 Visual Studio 为多环境配置 Web.config 不同的环境,存在不同的配置,如:数据库连接字符串,通过多配置,方便做环境切换,配置 ...

  3. 图像增强—自适应直方图均衡化(AHE)-限制对比度自适应直方图均衡(CLAHE)

    一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算 ...

  4. Point Free

    这是一种函数编码模式: 把数据处理的过程定义成和数据无关的合成运算,不需要用到数据参数,只是简单合成运算步骤,但需要定义一些辅助的基本运算函数. for example:  采用了lodash的fp ...

  5. HTB靶场之Sandworm

    准备: 攻击机:虚拟机kali. 靶机:Sandworm,htb网站:https://www.hackthebox.com/,靶机地址:https://app.hackthebox.com/machi ...

  6. KVM (Centos7)使用macvtap网卡的后续 -- 宿主机创建macvtap网卡,并配置ip

    因为使用虚拟机上的 macvtap 网卡与宿主机器上的网卡无法直接通信,所以需要在宿主机上也创建 macvtap 网卡,将 ip 迁移过去. 因为未能找到配置文件的设置方法,所以使用脚本来配置,并将脚 ...

  7. Nginx反向代理服务流式输出设置

    Nginx反向代理服务流式输出设置 1.问题场景 提问:为什么我部署的服务没有流式响应 最近在重构原有的GPT项目时,遇到gpt回答速度很慢的现象.在使用流式输出的接口时,接口响应速度居然还是达到了3 ...

  8. 【pandas小技巧】--数据转置

    所谓数据转置,就是是将原始数据表格沿着对角线翻折,使原来的行变成新的列,原来的列变成新的行,从而更方便地进行数据分析和处理. pandas中DataFrame的转置非常简单,每个DataFrame对象 ...

  9. 在 Visual Studio 2022 中使用文件对比

    在最新版本的 Visual Studio 2022 中,加入了新的功能特性--"文件对比". 在开发过程中,开发人员有时会需要比对文件差异,特别是代码文件,之前很多时候是借助版本控 ...

  10. 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!

    简介 magic-api 能够只通过 UI 界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库 MongoDB. 通过 magic-api 提供的 UI 界面完 ...