-
第一步,配置Docker启用远程tcp端口,并重新启动
假设已经安装了Docker,编辑Docker启动服务脚本
sh[tobbco@localhost ~]$ sudo vim /usr/lib/systemd/system/docker.service在
ExecStart配置末尾增加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock,如下:bash[tobbco@localhost ~]$ ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375重新加载配置
sh[tobbco@localhost ~]$ sudo systemctl daemon-reload重新启动Docker
sh[tobbco@localhost ~]$ sudo systemctl restart docker查看配置是否生效
sh[tobbco@localhost ~]$ ps -ef | grep docker root 3682 1 0 11:10 ? 00:00:14 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375出现刚刚的配置,证明生效,反之重新执行步骤。
-
第二步,IDEA Docker插件安装及配置
IDEA 安装Docker插件,Restart IDEA。
找到IDEA Settring设置项,搜索Docker,目录在
Build,Execution,Deployment下。一般默认有一个Docker配置,没有点击
+号创建一个。名称随便起,例如
Docker-linux。选择TCP socket,Engine API URL:tcp://
your remote server ip:2375,我这里是连接的云服务器,本地的选择第一个Docker for Windows或Mac,取决于你的系统。等待连接,出现Connection Successful,证明成功,如Time out,则多试几次。
-
第三部,构建Docker镜像并远程部署
Dockerfile文件内容
dockerfile# 基础镜像 FROM openjdk:8-jre-slim # 作者 LABEL authors="tobacco" # 配置 ENV PARAMS="" # 时区 ENV TZ=PRC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 添加应用 ADD /springboot-demo/target/springboot-demo.jar /springboot-demo.jar # 执行 ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /springboot-demo.jar $PARAMS"]pom.xml配置Docker镜像构建插件
xml<!--该插件主要用途:构建Docker镜像 --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> </plugin>Docker Configuration
打开Run/Debug Configurations,点击
+新建,搜索Dockerfile。名称设置为springboot-demo便于明确构建的镜像是什么。
Server选择前面IDEA Docker插件配置的名称。
Build项中Dockerfile选择之前创建的Dockerfile,Image tag 给镜像设置标签,例如springboot-demo:1.0。
Run项中Container name:起一个容器运行的名称,最好与项目名称保持一致,便于区分,Bind ports:点击右侧文件夹配置宿主机端口和容器端口的映射,例如:8080:8080。
点击apply应用后,点击run,只要文件没有配置错,那么没有问题。
-
查看镜像构建及部署日志
回到IDEA Services视图栏(或者使用
ALT+F8调出)。查看Docker-linux下有一个名称为springboot-demo的镜像,右侧有Build Log,构建镜像成功后,会自动发送到云服务器。
之后查看Build Log右侧的Log,为项目启动日志。
IDEA 部署服务到 Docker 容器
它山之石,可以攻玉2023-11-10 12:01
相关推荐
guo_wen_qiang3 小时前
docker的备份与迁移cpolar技术支持7 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路MrSYJ10 小时前
别人再问你路由表是啥,这篇文章摔它脸上羑悻11 小时前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术筑梦之路12 小时前
docker-compose方式部署kafka集群(Kraft方式)——筑梦之路CarIise12 小时前
IDEA与Maven基础课堂笔记JavaPub-rodert13 小时前
Docker 镜像地址总失效?基于 DockerHub 项目用 GitHub Actions 做一个自动检测状态页天衍四九-13 小时前
Docker 进阶实战系列(一):容器镜像安全,最小镜像与非 Root 运行天衍四九-13 小时前
Docker进阶实战系列(二):容器日志深度治理|驱动配置、自动切割、磁盘爆满彻底解决sbjdhjd14 小时前
云安全 | Docker 容器逃逸复盘(一):从隔离边界到运行时链路,如何确认自己身处容器