idea docker使用(最新IDEA快速实现Docker镜像部署运行的过程详解)
idea docker使用
最新IDEA快速实现Docker镜像部署运行的过程详解背景
使用idea配合docker,实现从javaweb开发,部署,运行全过程。
环境:已经配置好的docker、已经安装好的mysql8容器、一个springBoot 框架的web项目(内含swagger,便于测时)
开启Docker的远程连接
网上的方法找不到对应的docker.service文件,可能版本或者安装方式不同。
通过 systemctl status docker 查找docker.service文件位置:
修改/etc/systemd/system/docker.service文件:
#ExecStart=/usr/bin/dockerd ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重启Docker服务:
systemctl daemon-reload systemctl restart docker.service
2375端口开放:
firewall-cmd --zone=public --add-port=2375/tcp --permanent firewall-cmd --reload
重启后,验证下2375端口是否是通的:
http://192.168.137.188:2375/info
注:这个就表示成功了。
idea docker插件配置
idea 2019 3 版已经集成docker,未集成的请自行安装。
注:docker— 点击“+”后,填入连接名称和linux主机ip:docker对外端口
idea连接docker,熟悉相关界面可用操作:
注:集成了包括容器,镜像基本的常用命令,具体使用可自己研究,没啥难度。
springboot应用中加入dockerfile
注:与pom文件同级目录,文件内容如下:
FROM openjdk:8u212-jre 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"]
添加docker 运行配置
注:1、右键“edit configuration”
2、点击“+”,选择docker
3、选择前面定义的docker连接
4、dockerfile的名称
5、dockerfile的目录位置
6、项目镜像及版本定义
7、run build image 打勾,并命名容器名称,这样可以在创建镜像的后创建容器并运行。
8、配置宿主机与容器的端口映射
9、配置容器固定ip,以避免随机ip导致的类似项目运行找不到服务的问题。固定ip配置请参考:http://blog.java1234.com/blog/articles/628.html
ps:mysql8容器已经配置好默认ip会和这里的ip为同一网段。
10、此处可以预览命令,方便检查错误。
11、配置运行docker run 之前需要重新编译打包项目:
clean package -U -DskipTest -P test
注:因为开发时是主机访问linux内的mysql容器,而应用生成为容器运行时时应用容器访问mysql容器。yml中mysql配置不一致,所以为docker 部署专门使用test yml配置文件。ps:容器间互相访问,请查看“其他-容器间通信”标题
创建好后,可以看到:
注:多了一个dockerFile 启动
运行docker 启动配置
点击:
注:可以完整的看到maven clean 打包的过程,以及docker 构建镜像,创建并启动容器的过程。甚至可以看到容器启动项目的日志
测试访问swagger主页:
其他
容器之间通信
背景:因为不明白容器之间如何通信,导致配置mysql连接时,url一直不对,一直报数据库连接问题。
宿主机ip加映射端口可以访问mysql8容器:
url: jdbc:mysql://192.168.137.188:3307/db_myframe?serverTimezone=GMT
但是myframe 容器内 通过 宿主机ip加映射端口 访问失败
因为容器和容器之间的通信不一样
不能通过localhost:3306 访问,docker容器中的localhost并不是指宿主机的localhost。
docker在运行时建立了虚拟网卡,并命名为docker0
通过 docker inspect mysql8 找到ip地址 172.17.0.2 ,但是注意容器访问容器,端口需要用容器内的端口,而不是映射到宿主机的3307。
到此这篇关于最新IDEA快速实现Docker镜像部署运行的文章就介绍到这了,更多相关IDEA Docker镜像部署运行内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- idea的tomcat怎么运行项目(idea配置tomcat启动web项目的图文教程)
- idea里面怎么配置tomcat(intellij idea 使用Tomcat部署的项目位置在哪)
- idea 部署到tomcat 的项目在哪儿(使用IDEA创建Web项目并发布到tomcat的操作方法)
- idea的tomcat怎么关闭(解决Idea的tomcat启动报多个listener的错误问题)
- idea安装mybatis(IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug)
- idea如何运行springboot项目(使用idea搭建springboot initializer服务器的问题分析)
- linux idea怎么激活(在IDEA中使用Linux命令的操作方法)
- 如何看idea连接mysql数据库(IDEA 链接Mysql数据库并执行查询操作的完整代码)
- idea连接不上docker(IDEA使用Docker插件远程部署项目到云服务器的方法步骤)
- idea配置mysql最大连接数(IDEA连接不上MySQL端口号占用的解决)
- ideadocker调试(Idea部署远程Docker并配置文件)
- idea怎样连接mysql(IDEA配置连接MYSQL数据库遇到Failed这个问题解决)
- idea的mysql如何连接(在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解)
- idea社区版使用tomcat部署项目(基于IDEA部署Tomcat服务器的步骤详解)
- idea 一键部署springboot docker(IDEA部署Docker到WSL2的详细过程)
- idea如何运行tomcat项目(在IDEA 2020.3.1中部署Tomcat并且创建第一个web项目的过程详解)
- 越难春卷(越难春卷皮怎么用)
- 休闲VS新古典 办公家居简约设计(办公家居简约设计)
- 15个新成 园 位置公布 深圳龙岗2022年共建花园建设又有大动作(15个新成园位置公布)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
- 富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元 | 美通社(富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元)
- 二次创业 的富士胶片,在进博会上首次展示完成转型后的全线医疗产品(二次创业的富士胶片)
热门推荐
- mysql千万级别数据查询优化(mysql千万级数据量根据索引优化查询速度的实现)
- mysql有哪些约束(MySQL完整性约束的定义与实例教程)
- sql server高可用的实现方式(sql server 编译与重编译详解)
- 云服务器是什么技术(云服务器有什么作用?云服务器成为趋势的理由)
- html5 canvas touch(html5 canvas手势解锁源码分享)
- docker进入mysql查看路径(Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法)
- dedecms使用方法(Dedecms织梦CMS搜索页面调用全站最新文章的方法)
- mysql为什么优选innodb(如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog)
- laravel5.2模型返回数组(解决Laravel5.5下的toArray问题)
- IIS7如何限制某个IP地址访问网站
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9