idea?連接遠(yuǎn)程?docker?并部署項目到?docker的過程
1. idea 連接遠(yuǎn)程 docker
1.1 安裝 docker 插件
1.2 登錄遠(yuǎn)程服務(wù)器,修改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 服務(wù)systemctl restart docker.service
1.3 添加云服務(wù)器防火墻規(guī)則
1.4 idea 配置連接 docker
打開 idea,打開 Setting,在 docker 項配置云服務(wù)器tcp://公網(wǎng)IP:2375
,點(diǎn)擊 ok 即可連上 docker,如下圖:
然后,就可以在 Services 中看到 docker 了
點(diǎn)擊左邊的 connect 就可以連接上 docker,可以看到 docker 中的鏡像和容器信息
2. 部署項目到 docker
2.1 創(chuàng)建并編寫Dockerfile
我這里將dockerfile 創(chuàng)建在根目錄下
dockerfile 文件內(nèi)容:
# 指定基礎(chǔ)鏡像 FROM openjdk:8-jre-slim # 作者 MAINTAINER gzl # 將容器的時區(qū)設(shè)置為"Asia/Shanghai" RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone # 復(fù)制主機(jī)文件至鏡像內(nèi),復(fù)制的目錄需放置在 Dockerfile 文件同級目錄下 ADD target/chatgpt-api-0.0.1-SNAPSHOT.jar chatgpt-api.jar # (和項目端口號等同) EXPOSE 8080 # 在容器啟動時執(zhí)行該應(yīng)用程序 ENTRYPOINT ["java", "-jar", "/chatgpt-api.jar"]
2.2 運(yùn)行配置
(1) 點(diǎn)擊 Edit Configurations...
(2) 點(diǎn)擊左上角+
,找到 dockerfile
(3) 填寫配置信息
- Bind ports:映射端口:項目端口
- Before launch:
選擇Run Maven Goal
,Command line 填寫 clean package -U -DskipTests
,表示在構(gòu)建之前清理項目的目標(biāo)目錄,以確保沒有舊的構(gòu)建殘留,同時跳過運(yùn)行單元測試,可加快構(gòu)建過程
(4) 運(yùn)行
點(diǎn)擊運(yùn)行
運(yùn)行成功
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; # 鑒權(quán)通過后的處理方式 proxy_pass http://公網(wǎng)ip:8080/success; } location = /auth { # 發(fā)送子請求到HTTP服務(wù),驗證客戶端的憑據(jù),返回響應(yīng)碼 internal; # 設(shè)置參數(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訪問
到此這篇關(guān)于idea 連接遠(yuǎn)程 docker 并部署項目到 docker的文章就介紹到這了,更多相關(guān)idea 連接遠(yuǎn)程 docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pipework docker無法使用ip netns命令解決辦法
這篇文章主要介紹了pipework docker無法使用ip netns命令解決辦法的相關(guān)資料,需要的朋友可以參考下2016-10-10基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能[附完整源碼下載]
Docker 是一個開源的應(yīng)用容器引擎,和傳統(tǒng)的虛擬機(jī)技術(shù)相比,Docker 容器性能開銷極低,因此也廣受開發(fā)者喜愛。這篇文章主要介紹了基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控 ,需要的朋友可以參考下2019-06-06詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用
在本教程中,我們將學(xué)習(xí)如何使用 docker 部署 golang web 應(yīng)用程序。 具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Docker下部署MinIO存儲服務(wù)通過Buckets實現(xiàn)文件的遠(yuǎn)程上傳功能
MinIO是一個開源的軟件,可以免費(fèi)使用,還可以在普通硬件上運(yùn)行,降低了存儲成本,下面介紹在本地Docker中部署?MinIO?服務(wù),并實現(xiàn)遠(yuǎn)程訪問管理界面,節(jié)約云服務(wù)器運(yùn)行成本,感興趣的朋友跟隨小編一起看看吧2024-01-01