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<[email protected]>

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

猜你喜欢

转载自blog.csdn.net/mofsfely2/article/details/119584171
今日推荐