idea连接远程ssh和sftp操作
确保远程主机安装有openssh-server并开启防火墙和相应端口
安装 apt install openssh-server
查看ssh状态 systemctl status ssh
开启防火墙 ufw enable & ufw allow ssh(ubuntu20.04自带防火墙工具)
idea远程连接 Tools->Deployment->Configuration
如上图,配置该sftp页面前会弹出对话框让你先配置ssh,根据自己的主机IP和用户密码配置即可,在该页面中SSH configuration选项选择自己配好的ssh,连接之后即可远程操作文件上传和下载。
Tools->Start SSH Seesion 打开远程shell
Tools->Deployment->Browse Remote Host 打开远程文件系统
idea连接远程docker操作
修改远程docker配置开启远程访问
vim /usr/lib/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd-current后面追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重新加载配置文件和启动
systemctl daemon-reload
systemctl start docker
idea新版本默认下载docker插件,没有的自己在setting->plugins中下载。在idea设置中添加docker连接信息,连接成功后即可在左下角看到docker容器和镜像信息,可对容器进行挂载修改和追加端口映射等,保存后会在原来基础上加上修改的内容新创建一个镜像,更多操作自行摸索。
idea创建本地服务为docker镜像并运行
我们之前已经配置了idea远程连接docker,按上图步骤一步步配置即可绑定Dockerfile以及一些容器的端口映射和文件挂载等,配置完运行就能build成功在docker中run起来。由图我们可以知道,idea中的docker插件还支持docker-compose和docker image的配置,如果不想通过命令操作可以通过idea这种图形化操作。
docker image是配置某个镜像的运行前参数和命令,配置完启动配置文件即可启动该镜像。类似一个模板,容器出问题了删掉重新启动配置文件即可
docker-compose是文件编排,可一次构建和run多个镜像,构建本地服务为docker镜像时需要编写docker-compose.yaml且和本地服务jar包在同一层级目录,idea中docker-compose还可指定镜像运行(注意idea所在主机需安装有docker-compose)。
docker-compose.yml一般用法如下
version: '1'
services:
server:
#通过Dockerfile build & run
container_name: container_name
restart: always
build:
context: ./
dockerfile: ./Dockerfile # DockerFile和docker-compose在同一层级
working_dir: /app # 设置工作目录为容器内的app文件夹
environment:
TZ: Asia/Shanghai # 运行参数
volumes:
- /logs/:/app/log # 挂载文件持久化
ports:
- 宿主机端口:容器端口 # 映射端口
#运行镜像
lei-server:
image: registry.cn-chengdu.aliyuncs.com/leileideve/cattle-web:latest
container_name: container_name
restart: always
ports:
- 宿主机端口:容器端口
volumes:
- /docker/logs/server:/data/logs/
networks:
- elk # 指定运行网络
depends_on:
- elasticsearch01 # 依赖容器,该容器先启动然后再启动
links:
- 容器名称 # 连接到指定容器,与该容器进行通信
networks:
elk:
driver: bridge # 创建网络用于容器间通信