准备,开发环境使用的MacOS, windows 和 Linux理论上差异不大。
idea 2017.2
,docker integration 3.0.1
- 安装idea插件
Docker integration 3.0.1
- 安装docker for Mac 和 docker-compose (一般使用pip或brew安装)
在idea中指定docker-compose的目录。
1
2
3# 安装完成docker-compose查看可执行文件目录
which docker-compose
# /usr/local/bin/docker-compose在idea中打开 IntelliJ IDEA > Preferences > Build, Execution, Deployment > Docker > Tools. 在
Docker Compose executable
中配置/usr/local/bin/docker-compose
安装方法自行百度或Google,文章结尾有部分参考。
配置连接本地docker daemon
- 配置
- 连接
配置连接远程docker daemon
在服务器上配置可以远程连接的docker daemon
远程登录到安装docker的服务器,编辑文件
/etc/docker/daemon.json
, 在json最外层加上"hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],
, 类似下面的结构。1
2
3
4
5# 0.0.0.0表示任意IP的主机都可以访问,安全起见 0.0.0.0 改成允许访问的IP。
{
"hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],
"registry-mirrors": ["https://ftichs.mirror.aliyuncs.com"]
}防火墙开启 2375 端口
1
2firewall-cmd --zone=public --add-port=2375/tcp --permanen
firewall-cmd --reload重启docker,
systemctl restart docker
- 在本地机器(外网ip必须是daemon.json配置的IP)测试,
docker -H server_ip:2375 images
- 配置 idea,和配置本地基本一样。
- 连接和连接本地docker一样。
编写一个配置文件,部署应用
要先有一个docker-compose.yml/Dockerfile/docker镜像。任意一个都行,看你想用什么方式部署了。下面用docker-compose做实例。
1
2
3
4
5
6
7version: '3.1'
services:
tomcat:
image: tomcat:7.0.81-jre8
ports:
- "8088:8080"配置,使用docker-compose就可以忽略Container选项卡了。
运行(部署)
部署成功后访问 http://localhost:8088
查看效果。可以通过编写Dockerfile(在docker-compose.yml中引用Dockerfile编译镜像)把java应用部署到docker 容器。
idea配置远程调试, 调试部署到docker中的应用
下面是不使用docker时的远程调试