idea连接远程ssh和sftp操作

确保远程主机安装有openssh-server并开启防火墙和相应端口

  1. 安装 apt install openssh-server
  2. 查看ssh状态 systemctl status ssh
  3. 开启防火墙 ufw enable & ufw allow ssh(ubuntu20.04自带防火墙工具)

idea远程连接 Tools->Deployment->Configuration

图片.png
如上图,配置该sftp页面前会弹出对话框让你先配置ssh,根据自己的主机IP和用户密码配置即可,在该页面中SSH configuration选项选择自己配好的ssh,连接之后即可远程操作文件上传和下载。
Tools->Start SSH Seesion 打开远程shell
Tools->Deployment->Browse Remote Host 打开远程文件系统


idea连接远程docker操作

修改远程docker配置开启远程访问

  1. vim /usr/lib/systemd/system/docker.service
  2. ExecStart=/usr/bin/dockerd-current后面追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
  3. 重新加载配置文件和启动
  4. systemctl daemon-reload
  5. systemctl start docker

idea新版本默认下载docker插件,没有的自己在setting->plugins中下载。在idea设置中添加docker连接信息,连接成功后即可在左下角看到docker容器和镜像信息,可对容器进行挂载修改和追加端口映射等,保存后会在原来基础上加上修改的内容新创建一个镜像,更多操作自行摸索。

图片.png


idea创建本地服务为docker镜像并运行

图片.png
图片.png
图片.png

我们之前已经配置了idea远程连接docker,按上图步骤一步步配置即可绑定Dockerfile以及一些容器的端口映射和文件挂载等,配置完运行就能build成功在docker中run起来。由图我们可以知道,idea中的docker插件还支持docker-compose和docker image的配置,如果不想通过命令操作可以通过idea这种图形化操作。

docker image是配置某个镜像的运行前参数和命令,配置完启动配置文件即可启动该镜像。类似一个模板,容器出问题了删掉重新启动配置文件即可


图片.png

docker-compose是文件编排,可一次构建和run多个镜像,构建本地服务为docker镜像时需要编写docker-compose.yaml且和本地服务jar包在同一层级目录,idea中docker-compose还可指定镜像运行(注意idea所在主机需安装有docker-compose)。

图片.png
docker-compose.yml一般用法如下

  1. version: '1'
  2. services:
  3. server:
  4. #通过Dockerfile build & run
  5. container_name: container_name
  6. restart: always
  7. build:
  8. context: ./
  9. dockerfile: ./Dockerfile # DockerFile和docker-compose在同一层级
  10. working_dir: /app # 设置工作目录为容器内的app文件夹
  11. environment:
  12. TZ: Asia/Shanghai # 运行参数
  13. volumes:
  14. - /logs/:/app/log # 挂载文件持久化
  15. ports:
  16. - 宿主机端口:容器端口 # 映射端口
  17. #运行镜像
  18. lei-server:
  19. image: registry.cn-chengdu.aliyuncs.com/leileideve/cattle-web:latest
  20. container_name: container_name
  21. restart: always
  22. ports:
  23. - 宿主机端口:容器端口
  24. volumes:
  25. - /docker/logs/server:/data/logs/
  26. networks:
  27. - elk # 指定运行网络
  28. depends_on:
  29. - elasticsearch01 # 依赖容器,该容器先启动然后再启动
  30. links:
  31. - 容器名称 # 连接到指定容器,与该容器进行通信
  32. networks:
  33. elk:
  34. driver: bridge # 创建网络用于容器间通信