GreatSQL Shell相关Docker镜像集。
Dockerfiles可用于自定义和构建Docker镜像。戳此阅读更多关于Dockerfiles的文档。
我们非常欢迎和鼓励社区用户提出改进建议或贡献代码、想法,以及其他任何可以帮助改进项目的做法。
如果您发现任何GreatSQL-Shell Docker项目相关的问题、bug,都可以戳此提交issue,我们将尽快处理。
例如:
$ docker run -itd --hostname greatsqlsh --name greatsqlsh greatsql/greatsql_shell_build:8.0.32-25 bash
执行上述命令后,会创建一个GreatSQL-Shell编译环境容器,在容器中会自动进行GreatSQL-Shell编译工作。
在编译过程中,可以执行下面命令查看进度:
$ docker logs greatsqlsh | tail
如果看到类似下面的结果,就表明二进制包已编译完成
$ docker logs greatsqlsh | tail
1. extracting tarballs
2. compiling antlr4
3. compiling patchelf
4. compiling rpcsvc-proto
5. compiling protobuf
6. compiling greatsql shell
/opt/greatsql-shell-8.0.32-25-centos-glibc2.28-x86_64/bin/mysqlsh Ver 8.0.32 for Linux on x86_64 - for MySQL 8.0.32 (Source distribution)
7. MySQL Shell 8.0.32-25 for GreatSQL build completed! TARBALL is:
-rw-r--r-- 1 root root 20343832 Jan 20 21:41 greatsql-shell-8.0.32-25-centos-glibc2.28-x86_64.tar.xz
接下来回退到宿主机,将容器中的二进制包拷贝出来
$ docker cp greatsqlsh:/opt/greatsql-shell-8.0.32-25-centos-glibc2.28-x86_64.tar.xz /usr/local/
然后解压缩,就可以在宿主机环境下使用了,例如:
$ /usr/local/greatsql-shell-8.0.32-25-centos-glibc2.28-x86_64/bin/mysqlsh
MySQL Shell 8.0.32
...
Type '\help' or '\?' for help; '\quit' to exit.
MySQL Py > \q
Bye!
提醒:如果是在aarch64环境中,则修改Dockerfile的前几行,改成适用于aarch64的镜像,例如
#for x86_64
#FROM centos:8
#for aarch64
FROM docker.io/arm64v8/centos
然后执行上面创建容器的命令即可。
如果您想自行手动编译GreatSQL Shell,详情可参考文档:MySQL Shell 8.0.32 for GreatSQL编译二进制包。或者参考下面的简易过程说明:
COPY greatsql_shell_docker_build.tar /opt
的动作,需要自行打包 greatsql_shell_docker_build.tar 文件包,主要由一下几个文件组成:其中,几个在github上的文件需要科学上网才能下载。此外,在文档 MySQL Shell 8.0.32 for GreatSQL编译二进制包 中有提到,antlr4源码包中的runtime/Cpp/runtime/CMakeLists.txt
文件第一行要注释掉并重新打包,否则编译时要去github上下载文件,会导致编译失败。
greatsql-shell-docker-build.sh
脚本开始自动编译工作。greatsql-shell-docker-build.sh
会开始自动构建 greatsql_shell_build 镜像。$ sh ./greatsql-shell-docker-build.sh ./greatsql_shell_docker_build.tar
1. Docker images **greatsql_shell_build** build start
Sending build context to Docker daemon 2.469GB
...
Docker build success!
...
2. Creating docker container to buile GreatSQL Shell
...
GreatSQL Shell on builing ...
...
3. Copy GreatSQL-Shell TARBALL to the current directory
...
-rw-r--r-- 1 root root 20346808 Jan 22 13:28 greatsql-shell-8.0.32-25-centos-glibc2.28-x86_64.tar.xz
然后解压缩,就可以在宿主机环境下使用GreatSQL Shell了。
注意:采用本方法构建的GreatSQL Shell是适用于CentOS 8(glibc 2.28)环境下运行的,宿主环境如果是其他操作系统(或glibc版本不一致)可能无法正常运行。
扫码关注微信公众号
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。