准备,开发环境使用的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的目录。
# 安装完成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"],
, 类似下面的结构。
# 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 端口
firewall-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
- 远程登录到安装docker的服务器,编辑文件
-
配置 idea,和配置本地基本一样。
连接和连接本地docker一样。
编写一个配置文件,部署应用
- 要先有一个docker-compose.yml/Dockerfile/docker镜像。任意一个都行,看你想用什么方式部署了。下面用docker-compose做实例。
version: '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时的远程调试