开源流程图工具 draw.io 的搭建
可以直接在线绘图,在线绘图官方网站
由于网站在国外,访问速度可能较慢,且不支持思维导图。
实测 Docker 版本占用内存450MB
本地搭建方法
一、准备相关环境
1、安装 Docker
腾讯云上 Docker 的安装方式
经测试 Ubuntu 18.04.1 LTS 系统自带 Docker,无需安装 Docker 。
如果需要安装请执行以下代码
代码语言:javascript复制curl -sSL https://get.daocloud.io/docker | sh
测试是否安装成功
代码语言:javascript复制docker run hello-world
如果提示 Hello from Docker! 则安装正常。
2、使用 DockerHub 加速器
使用 DockerHub 加速器
修改 /etc/docker/daemon.json 文件,并写入以下内容,如果文件不存在请新建并写入以下内容。
代码语言:javascript复制{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
重启 Docker
代码语言:javascript复制$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
执行 docker info 命令,返回结果中包含以下内容,则说明配置成功。
代码语言:javascript复制Registry Mirrors:
https://mirror.ccs.tencentyun.com
二、安装
1、拉取镜像
代码语言:javascript复制docker pull fjudith/draw.io
2、运行镜像并映射到 8080 端口
代码语言:javascript复制docker run -dit --restart=always --name=draw -p 8080:8080 fjudith/draw.io
如果修改映射到8888端口则命令为
代码语言:javascript复制docker run -dit --restart=always --name=draw -p 8888:8080 fjudith/draw.io
如果有必要,可以使用反向代理。
修改语言
三、Nextcloud安装draw.io插件
1、下载插件
下载地址
2、安装插件
将文件上传至Nextcloud安装目录的apps文件夹内,并解压。
3、在应用当中开启 Draw.io
四、可能出现的问题
运行镜像并映射到 8080 端口
代码语言:javascript复制docker run -dit --restart=always --name=draw -p 8080:8080 fjudith/draw.io
如果修改映射到 8888 端口则命令为
代码语言:javascript复制docker run -dit --restart=always --name=draw -p 8888:8080 fjudith/draw.io
【注意】修改映射端口时修改的是 冒号 前面的数字。
【注意】如果因为端口号输错需要更改但命令行出现下面的报错,需要停止并移除该容器,然后新建容器并映射,处理的方法在下面。
代码语言:javascript复制docker: Error response from daemon: Conflict. The container name "/draw" is already in use by container "819a7f7a9ad448b0f95ec8630e60ddd14b384d685cc5a8171b5db16948e0f4c7".
You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
2、镜像已存在
创建新Docker容器时出现“The container name "/xxx" is already in use by container xxxxxxxxxxx…”问题的解决办法
代码语言:javascript复制docker: Error response from daemon: Conflict. The container name "/draw" is already in use by container "819a7f7a9ad448b0f95ec8630e60ddd14b384d685cc5a8171b5db16948e0f4c7".
You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
(1)停止该容器
代码语言:javascript复制$ docker ps // 查看所有正在运行容器(如果没有显示相关内容则不需要停止)
$ docker stop containerId //停止某一容器,containerId 是容器的ID
例如:docker stop 819a7f7a9ad4
【注意】如果使用 docker ps 没显示该容器正在运行,请使用 docker ps -a 查找所有容器,并参照以下方法移除该容器。
(2)移除容器
代码语言:javascript复制$ docker rm containerId //remove删除某一容器
例如:docker rm 819a7f7a9ad4
(3)再次执行启动镜像及端口映射命令
代码语言:javascript复制docker run -dit --restart=always --name=draw -p 8080:8080 fjudith/draw.io