背景
mac m1的docker 怎么安裝可以看我之前的文章,主要是換了mac之后,如idea 連接docker ,實作idea上 從操作maven打包jar ,配合dockfile操作docker構建鏡像,創建容器,運行容器的程序,也就是idea上可以實作,開發、打包,部署到遠程服務器并運行的程序,
如何docker開啟遠程連接服務
讓idea可以訪問并操作docker,
基于mac的docker for mac本身不支持遠程訪問,需要依賴一款名叫 socat的網路工具提供的鏡像來做遠程訪問,
非容器方式
安裝socat:brew install socat
運行socat:
#打開獨立的新Terminal,執行啟動socat,一直保持該視窗,不用管.
socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock
#如果要后臺運行,懶得打開新的Terminal,使用 nohup terminalCMD &
#示例:
# nohup socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock &
視窗不要關閉,
另起一個終端輸入:curl http://localhost:2375/info ,出現如下,說明成功

容器方式
參考:https://blog.csdn.net/qq_31493821/article/details/118371562
拉取:docker pull alpine/socat
這個命令是從docker 官網 socat 說明處拿來的
啟動命令:
docker run -d --restart=always \
-p 127.0.0.1:2376:2375 \
-v /var/run/docker.sock:/var/run/docker.sock \
alpine/socat \
tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock
訪問:http://127.0.0.1:2376/info 出現一段有詳細資訊的json說明就沒有問題,
ps:不推薦這種方式,因為docker 界面上顯示警告資訊,說socat m1不支持,,容易奔潰,但是用上面的方式的話,每次都得命令輸入,還不能關閉,肯定沒有docker 界面操作來得舒服,
idea連接docker

除了輸入名稱,啥都不需要輸入,直接就是好的,
這時候在service視窗右鍵剛才剛才建好的Docker 連接,點擊connect,
就可以看到容器,鏡像并操作了,

配置Dockfile
這個組態檔說明了,構建鏡像需要什么,
#FROM openjdk:8u212-jre
FROM azul/zulu-openjdk-alpine
MAINTAINER aliyu<2557170552@qq.com>
COPY target/myframe-0.0.1-SNAPSHOT.jar /myframe-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar", "/myframe-0.0.1-SNAPSHOT.jar"]
ps:之前的jdk鏡像拉取失敗,azul/zulu-openjdk-alpine這個鏡像我從docker官網找的,也不知道是不是支持m1,可以正常打包,但打出來的包會提示和m1有兼容性問題,,,
配置docker的運行配置
實作打包、構建鏡像、發布docker、創建容器并運行,

ps:圖片下面還有一段,需要配置運行docker run 之前需要重新編譯打包專案:clean package -U -DskipTest -P test
運行配置
運行配置可以看到整個打包、構建鏡像、發布docker、創建容器并運行的日志軌跡,
其他
docker中的web專案要訪問主機的mysql,應該怎么配置?
實際測驗程序中,容器訪問宿主機mysql,宿主機地址 127.0.0.1即可
宿主機訪問docker中的容器,頁面輸入 127.0.0.1 加配置好的映射埠即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293456.html
標籤:其他
下一篇:docker入門
