在idea上使用docker作为java的开发环境


准备,开发环境使用的MacOS, windows 和 Linux理论上差异不大。

  1. idea 2017.2, docker integration 3.0.1

  2. 安装idea插件 Docker integration 3.0.1

  3. 安装docker for Mac 和 docker-compose (一般使用pip或brew安装)

  4. 在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

    配置docker-compose
  5. 安装方法自行百度或Google,文章结尾有部分参考。

配置连接本地docker daemon

  1. 配置


    连接本地docker daemon
  2. 连接


    链接到 docker daemo

配置连接远程docker daemon

  1. 在服务器上配置可以远程连接的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
  2. 配置 idea,和配置本地基本一样。


    配置远程docker daemon
  3. 连接和连接本地docker一样。

编写一个配置文件,部署应用

  1. 要先有一个docker-compose.yml/Dockerfile/docker镜像。任意一个都行,看你想用什么方式部署了。下面用docker-compose做实例。
version: '3.1'

services:
  tomcat:
    image: tomcat:7.0.81-jre8
    ports:
      - "8088:8080"

  1. 配置,使用docker-compose就可以忽略Container选项卡了。


    配置运行配置项
  2. 运行(部署)


    运行(部署)

部署成功后访问 http://localhost:8088查看效果。可以通过编写Dockerfile(在docker-compose.yml中引用Dockerfile编译镜像)把java应用部署到docker 容器。

idea配置远程调试, 调试部署到docker中的应用

下面是不使用docker时的远程调试

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,014评论 19 139
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,650评论 0 17
  • 如果你要问,读了这么多年书,印象最深刻的老师有多少,那么,我能够在记忆中搜寻那些难忘的身影,一定不会少。这其中,不...
    迪公子阅读 317评论 0 1
  • 自从每天写文,给我带来最大的好处,无论生活中发生什么事情,特别是能够引起我注意的事情,都会引起我的思考,这段时...
    戴老师成长记录仪阅读 746评论 0 1
  • ㄟ( ▔, ▔ )ㄏ作为吃瓜群众乱讲~~我发现那些成功的有价值的作品(或者艺术品)都有一些共性:它们是可以被看出来...
    我有嘉宾阅读 256评论 0 0