IDEA快速实现Docker镜像部署运行(for mac M1)

Posted mofsfely2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA快速实现Docker镜像部署运行(for mac M1)相关的知识,希望对你有一定的参考价值。

背景

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 加配置好的映射端口即可

以上是关于IDEA快速实现Docker镜像部署运行(for mac M1)的主要内容,如果未能解决你的问题,请参考以下文章

IDEA快速部署Spring Boot 项目到Docker

IDEA集成Docker插件实现项目打包镜像一键部署与Docker CA加密认证

无快不破,在本地 docker 运行 IDEA 里面的项目?

Docker实践--部署Nodejs应用

Docker运维笔记三:IDEA使用Docker插件远程部署SpringBoot

通过IDEA制作包含Java应程序的Docker镜像