idea?連接遠程?docker?并部署項目到?docker的過程
1. idea 連接遠程 docker
1.1 安裝 docker 插件

1.2 登錄遠程服務器,修改docker配置
(1) 修改 docker.service 文件,位于 /usr/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
1.3 添加云服務器防火墻規(guī)則

1.4 idea 配置連接 docker
打開 idea,打開 Setting,在 docker 項配置云服務器tcp://公網(wǎng)IP:2375,點擊 ok 即可連上 docker,如下圖:

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

點擊左邊的 connect 就可以連接上 docker,可以看到 docker 中的鏡像和容器信息

2. 部署項目到 docker
2.1 創(chuàng)建并編寫Dockerfile
我這里將dockerfile 創(chuàng)建在根目錄下

dockerfile 文件內容:
# 指定基礎鏡像 FROM openjdk:8-jre-slim # 作者 MAINTAINER gzl # 將容器的時區(qū)設置為"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 # 在容器啟動時執(zhí)行該應用程序 ENTRYPOINT ["java", "-jar", "/chatgpt-api.jar"]
2.2 運行配置
(1) 點擊 Edit Configurations...

(2) 點擊左上角+,找到 dockerfile

(3) 填寫配置信息

- Bind ports:映射端口:項目端口
- Before launch:
選擇Run Maven Goal,Command line 填寫 clean package -U -DskipTests,表示在構建之前清理項目的目標目錄,以確保沒有舊的構建殘留,同時跳過運行單元測試,可加快構建過程
(4) 運行
點擊運行

運行成功

3. Nginx 配置
修改 nginx 配置
server {
listen 80;
server_name 公網(wǎng)ip;
# 首頁
index index.html;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api/ {
auth_request /auth;
# 鑒權通過后的處理方式
proxy_pass http://公網(wǎng)ip:8080/success;
}
location = /auth {
# 發(fā)送子請求到HTTP服務,驗證客戶端的憑據(jù),返回響應碼
internal;
# 設置參數(shù)
set $query '';
if ($request_uri ~* "[^\?]+\?(.*)$") {
set $query $1;
}
# 驗證成功,返回200 OK
proxy_pass http://公網(wǎng)ip:8080/verify?$query;
# 發(fā)送原始請求
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 {
}
}
在瀏覽器使用公網(wǎng)ip訪問

到此這篇關于idea 連接遠程 docker 并部署項目到 docker的文章就介紹到這了,更多相關idea 連接遠程 docker內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker入門與進階(基礎+實戰(zhàn)+進階+Compose+Swarm)超詳細版
本文詳細介紹了Docker的基礎概念、安裝配置、鏡像與容器操作,包括數(shù)據(jù)卷、Dockerfile構建、網(wǎng)絡管理、Docker Compose單機部署和Swarm集群部署,感興趣的朋友跟隨小編一起看看吧2026-04-04
Centos7安裝docker compse踩過的坑及解決方法
本文,我們介紹如何在centos7環(huán)境下安裝docker-compose, 記錄下安裝過程步驟以及遇到的問題還有解決辦法,感興趣的朋友參考下吧2018-01-01
Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d
這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內容是從?Docker入門到進階里面抽離出來的內容,從而使原文更加有序、重點突出,需要的朋友可以參考下2023-08-08
一次dockerfile的循環(huán)依賴錯誤實戰(zhàn)記錄
Dockerfile 是一個文本文件,其內包含了一條條的指令,每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建,這篇文章主要介紹了使用Docker多階段構建時遇到的循環(huán)依賴問題及其解決方法,,需要的朋友可以參考下2025-02-02

