前言
在學校學習的時候,要部署一個Java程序,一般是打成war包,放到服務器上的tomcat的webapp里面去;
后來SpringBoot出現內置了tomcat,就直接打成jar包,丟到服務器任何一個目錄,只要服務器上安裝了Java即可;
Docker出現以后,可以通過編寫Dockerfile將jar包和Java環境集成到一個鏡像里面,更加方便了;
在公司則是使用持續部署和持續集成,通過在gitlab上設置webhook觸發k8s來拉取代碼自己編譯部署集成。
技術一直在發展,越來越自動化,使用越來越簡單,我輩之幸~~
在個人學習過程中,需要部署程序,推薦使用上面第三條,部署起來更加方便;最近了解到第三條部署方式的改進版,
可以在idea安裝docker和編寫Dockerfile文件,開啟遠程docker的遠程連接,使用idea本地docker插件連接到遠程docker,這樣就省去了
還要手動將jar包丟到服務器上用docker build構建鏡像的過程,算是方便了很多。。。
當然,本文討論的不是部署方式,而是如何開啟docker遠程連接,docker遠程連接分兩種,一種是不用認證的,只要修改了docker的配置並
讓配置生效就可以連接了,另外一種稍微復雜一些,需要自行生成CA證書,服務器公鑰,客戶端公鑰等等。
不用認證的版本
開啟docker遠程連接
- 修改docker.service文件
vi /usr/lib/systemd/system/docker.service
找到ExecStart在后面追加以下內容
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
需要注意的是,我這里配置的端口是2376,這是因為docker一般的遠程連接端口是2375,由於我使用的是雲服務器,怕被人利用來挖礦。。。雖然可能作用也不大~
另外,如果使用國內的雲服務器,比如阿里雲或者騰訊雲,還需要去雲服務器控制台配置安全組,把2376端口給暴露出來
重啟docker讓配置生效
systemctl daemon-reload systemctl restart docker
查看docker是否正常啟動
systemctl status docker
本地連接演示
-
idea下載好docker插件
-
配置docker連接
我上面的ip隨便寫的,看官寫上自己的ip即可。
配置好后,下方會出現連接成功字樣
如果連接失敗,則需要仔細檢查下ip和端口是否正確
- 查看鏡像和容器
idea安裝好docker插件后,slidebar上可以打開docker
就是中間這個Service,我不知道為什么叫這個名字,看別人很多博主的就叫docker
-
- 點擊連接
- 點擊連接
-
- 查看鏡像和容器
- 查看鏡像和容器
-
- 甚至還可以創建容器和啟動容器
- 甚至還可以創建容器和啟動容器
推薦文章
一鍵部署 Spring Boot 到遠程 Docker 容器,就是這么秀!
需要認證的版本
生成CA證書及服務器公鑰等
看了很多博文,這部分相對比較散亂一些,有一個博主根據其他博主的文章寫了個腳本,並且寫了很多注釋,非常感謝!!!
我也是使用的該博主的腳本,稍稍改了下變量,下面是我使用的腳本,不知道為什么把腳本拷到博客園這邊就不對,只好放在簡書上面了
創建docker ca證書及服務器公鑰腳本
- 保存腳本到create_tls_certs.sh文件中,並把該腳本移動到/etc/docker目錄中執行
sh create_tls_certs.sh
- 查看生成的證書和秘鑰文件
修改配置文件開啟docker遠程連接及添加認證
vi /usr/lib/systemd/system/docker.service
除了添加開啟遠程連接
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
還要指定CA證書和公鑰地址
--tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem
重啟docker讓配置生效
systemctl daemon-reload systemctl restart docker
將證書及秘鑰下載到本地
下載ca.pem,cert.pem和key.pem三個文件到本地
本地連接演示
- 指定下載的證書和秘鑰的目錄
注意我這里是使用的https://hello:2376,這個hello是我在生成證書的腳本中配置的
還需要配置本機的hosts
連接成功后的操作就和上面講的不需要認證的操作一樣~
推薦文章
Centos7 Docker配置TLS認證的遠程端口的證書生成教程(shell腳本一鍵生成)
centos7為docker配置遠程TLS驗證,端口設定為2376
centos7 docker開啟認證的遠程端口2376配置教程
Docker 遠程連接 -- dockerd 命令詳解
Docker開啟遠程訪問(非認證模式)
618推薦
【騰訊雲】618雲聚惠,百款雲產品限量搶購,1核2G雲服務器首年95元
https://cloud.tencent.com/act/cps/redirect?redirect=1059&cps_key=4af64fef8b27cbf2ed77ea881690abbd&from=console