前言
在日常工作中, 经常需要画一些拓扑图或者关系图,最常使用的工具可能是微软的visio,这个工具虽然强大,但是是一个收费软件;或者使用xmind的免费版本,但是在功能上受到一定的限制。 这里介绍一款优秀的在线绘图软件--draw.io, 这个软件同时提供了桌面应用,支持windows/MacOS等多种操作系统; 同时还提供了docker镜像,实现本地化部署。 本文将介绍使用docker进行本地化部署。
安装docker
在linux环境下安装docker及docker-compose工具,这里参考docker文档在ubuntu下部署:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo usermod -aG docker $USER curl -SL github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose |
启动docker实例
使用docker-compose 启动实例,需准备docker-compose.yml 配置文件:
services: drawio: image: jgraph/drawio:21.0.2 container_name: drawio environment: - LETS_ENCRYPT_ENABLED=false restart: always network_mode: host healthcheck: test: ["CMD-SHELL", "curl -f 127.0.0.1:8080 || exit 1"] interval: 1m30s timeout: 10s retries: 5 start_period: 10s volumes: - /home/user/draw.io/data:/opt/data deploy: replicas: 1 resources: limits: cpus: "2" memory: 1G |
使用docker-compose 启动docker 实例
docker-compose up -d |
配置nginx
docker镜像本身包含tomcat web服务器,但是这里使用nginx作为web服务器,并配置自签名证书使用https 连接。
sudo apt install -y nginx # cat code.ctyun.dev.ext [SubjectAlternativeName] # Root CA # Private Key #Private Cert with Signature |
配置nginx.conf
map $http_upgrade $connection_upgrade { server { proxy_read_timeout 3600; root /var/www/html; # Add index.php to the list if you are using PHP ssl_prefer_server_ciphers on; location / { proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; client_max_body_size 1024m; proxy_buffering off; |
启动nginx, 就能够在浏览器里面访问draw.io 进行正常绘图啦, 看起来是不是官网一模一样:)