【玩转腾讯云】搭建开源流程图工具

2020-04-16 10:25:13 浏览数 (1)

开源流程图工具 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

0 人点赞