Docker部署
本文档介绍TuGraph Compile及TuGraph Runtime的Docker镜像的创建、下载。
1.简介
- TuGraph Compile Image:提供编译环境,可以用于TuGraph的编译,测试;
- TuGraph Runtime Image:提供二进制可运行环境,附带TuGraph库和可执行文件;
- TuGraph Mini Runtime Image: 提供二进制可运行环境,不包含TuGraph中Java、Python相关的功能,无C++ plugin编译运行,仅so上传。
2.现有Docker Image
2.1.镜像下载方式
镜像托管在DockerHub,可直接下载使用。
最新版本的Docker地址参见 文档地图的"TuGraph最新版本"章节。
2.2.命名规范
2.2.1.TuGraph Compile Image
提供编译环境,可以用于TuGraph的编译。
tugraph/tugraph-compile-[os name & version]:[tugraph compile version]
例如: tugraph/tugraph-compile-centos7:1.2.0
2.2.2.TuGraph Runtime Image
提供二进制可运行环境,附带TuGraph库和可执行文件。
tugraph/tugraph-runtime-[os name & version]:[tugraph-runtime version]
例如:tugraph/tugraph-runtime-centos7:3.4.0
2.2.3.TuGraph Mini Runtime Image
提供二进制可运行环境,不包含TuGraph种Java、Python相关的功能,无C++ plugin编译运行,仅so上传。
tugraph/tugraph-mini-runtime-[os name & version]:[tugraph-runtime version]
例如: tugraph/tugraph-mini-runtime-centos7:3.4.0
2.3.常见Docker操作
Docker由Dockerfile生成,注意创建镜像需要下载依赖,因此网络问题可能会导致创建较慢或者创建失败。注意不要覆盖镜像,除非tag为 latest。
创建Compile镜像
docker build -f tugraph-compile-centos7-Dockerfile -t tugraph/tugraph-compile-centos7:1.2.0 .
创建Runtime / Mini Runtine镜像
docker build --build-arg FILEPATH="${rpm_path_in_oss}" --build-arg FILENAME="${rpm_name}" -f tugraph-compile-centos7-Dockerfile -t tugraph/tugraph-runtime-centos7:1.2.0 .
修改镜像名称
docker tag ${image_name}:${image_tag} tugraph/tugraph-runtime-centos7:3.3.0
上传镜像
docker push tugraph/tugraph-compile-centos7:1.2.0 .
获取镜像
docker pull tugraph/tugraph-compile-centos7:1.2.0
导出镜像
docker save ${image_name}:${image_tag} | gzip > lgraph_latest.tar.gz
导入镜像
docker load --input lgraph_latest.tar.gz
其他Docker操作请参考docker官方文档
2.4. M1芯片支持
在 M1 芯片的机器上运行 amd64 容器可能造成未知错误。TuGraph提供 arm64 的镜像供 M1 机器使用。 包含compile和runtime两种镜像。
在tugraph-runtime-centos7:3.6.0与tugraph-compile-centos7:1.2.7及之后,tugraph-runtime-centos7与tugraph-compile-centos7提供linux/amd64和linux/arm64/v8两种架构的镜像,可以在 M1 机器上通过docker pull获取arm64架构镜像。
2.5. 运行服务
-
拉取镜像
docker pull tugraph/tugraph-runtime-centos7:${VERSION} -
启动docker
docker run -d -p 7070:7070 -p 7687:7687 -p 9090:9090 -v /root/tugraph/data:/var/lib/lgraph/data -v /root/tugraph/log:/var/log/lgraph_log \--name tugraph_demo ${REPOSITORY}:${VERSION}# ${REPOSITORY}是镜像地址,${VERSION}是版本号。# 7070是默认的http端口,访问tugraph-db-browser使用。# 7687是bolt端口,bolt client访问使用。# 9090是默认的rpc端口,rpc client访问使用。# /var/lib/lgraph/data是容器内的默认数据目录,/var/log/lgraph_log是容器内的默认日志目录# 命令将数据目录和日志目录挂载到了宿主机的/root/tugraph/上进行持久化,您可以根据实际情况修改。