由于公司项目需要,需要使用部署微服务项目,而之前都是使用tomcat部署,操作十分繁琐。最近正好在学习Docker,利用Docker容器做部署尝试
服务器(我的版本为CentOS:7.9)
开发端
在idea中配置docker
目录结构:
pom.xml
... 192.168.10.10 ${docker.host} http://${docker.host}:2375 library 8080 com.spotify docker-maven-plugin 1.2.0 docker-harbor ${docker.remote} ${docker.repostory}/${docker.registry.name}/${project.artifactId} openjdk:8u282-jdk 作者 8080 Asia/Shanghai mkdir -p /epark/logs && ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone /epark ["java","-Djava.security.egd=file:/dev/./urandom","-jar","${project.build.finalName}.jar","--server.port=${PORT}"] http://${docker.repostory} true ${project.build.directory} ${project.build.finalName}.jar com.dkanejs.maven.plugins docker-compose-maven-plugin 2.5.1 ${project.basedir}/../docker-compose.yml 1.22 ${docker.remote} ${port} ${docker.repostory} ${project.build.finalName} ${project.build.finalName}-${port}
注意,${project.artifactId}引用的项目构件ID只能是小写
docker-compose.yml
version: '3.4' services: eparking: # 镜像 image: ${host}/library/${name}:latest # 容器名 container_name: ${name}-${port} # 开机自启(自选) #restart: always # 环境配置 environment: # 端口 - PORT=${port} # 端口映射 ports: - "${port}:${port}" # 卷映射,这里日志根据自己项目输出位置调整 volumes: - "/log/${name}/${port}:/logs/"
配置了仓库的话需要配置Maven的settings.xml的账号密码
docker-harbor 仓库用户名 仓库密码
pom.xml
... 8082 com.spotify docker-maven-plugin com.dkanejs.maven.plugins docker-compose-maven-plugin
如果一切顺利maven中会出现docker和docker-compse插件
先执行docker:build构建,再执行docker-compose:up启动
成功后可以查看docker容器启动情况了,我这里使用的是docker插件
好了,这功能花费了我很长时间,最终实现了这些功能。可能还有些小细节没展示出来,可以尽管提问
到此这篇关于SpringBoot+Docker+IDEA 实现一键构建+推送、运行、同镜像多容器启动的文章就介绍到这了,更多相关springboot docker idea多容器启动内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!