Sign inSign up

zguo/moderngmt

By zguo

•Updated almost 6 years ago

Add some additional features and fixed some bugs in official gmt.

Image
0

1.2K

zguo/moderngmt repository overview

如果对您有用,就关注我微信公众号(SciByte),版本更新或其他的信息会发布在微信公众号里面通知大家。

⁠moderngmt Docker镜像介绍

鉴于gmt一些三维绘图问题或者自定义的功能,而又没太多精力向官方的仓库中提交问题。所以就创建了一个我个人二次开发使用的一个gmt版本的docker镜像。这个镜像可以在任何支持docker的系统下运行,而且进入docker容器之后的操作环境、操作方式等都是相同的,与主机操作系统无关。相比笨重的虚拟机,有一定的优势。这使得对我的版本感兴趣的同学能够轻而易举的使用我所提到的一些改进的功能。比如 Modern GMT Series:Slice in 3D View (三维切片图)⁠和GMT三维绘图有BUG? 修复它!⁠两篇帖子里面提到的内容,都可以在基于这个docker镜像中进行使用。还有腾讯课堂GMT三维绘图讲解+代码⁠中的操作,也是完全可以基于此镜像完成,不用再担心自己不会编译gmt的问题了。所有需要的工具我都在这个镜像中准备好了。

⁠如何使用

  1. 安装Docker客户端:安装非常简单,见Docker官网下载页⁠

  2. 拉取moderngmt⁠镜像:安装完成docker客户端并启动后,在你的操作系统终端(windows系统为PowerShell)里面运行代码 docker pull zguo/moderngmt即可安装最新版的moderngmt镜像。(安装过程需要一点时间,耐心等待即可)

  3. 基于moderngmt镜像创建容器:同样在终端下面运行命令 docker run -it -d --name gmt --user=gmt --workdir="/home/gmt" -v="$home/gmt_works":"/home/gmt/gmt_works" zguo/moderngmt,这里指定了以镜像里面的gmt用户名身份进入系统,默认工作目录为 /home/gmt。其中-v参数后面指定了容器与逐渐之间的共享目录:${dirInHost}根据自己的情况用路径名替换就行。有了共享目录那就可以保持docker容器与主机之间的文件同步了,聪明的你肯定想到了这个的用处了!注意:gmt用户的密码也为gmt,有时候在使用sudo命令时会用到密码。

  4. 启动容器:在终端运行命令 docker start gmt

  5. 进入容器:在终端运行命令 docker attach gmt。现在你的终端和环境已经变成了一个ubuntu系统的终端和我配置好了的linux环境。我已经安装了oh my zsh(一款非常好用的增强型bash工具),所以你可以键入zsh然后回车,就可以使用zsh了。现在开始你就可以很愉快的在这里玩最新版的被改装过的gmt了

  6. 如何退出容器:玩完了之后想退出容器,也很容易,运行 exit命令即可。当然了如果你使用了zsh,可能需要exit多次。

  7. 下次如何在进入容器:因为你的容器已经创建好了,第六步之后你只是退出来了而已。容器还在,所以不需要重新创建。只需要依次执行第4步和第5步就可以进入容器进行相应的操作了。

⁠容器的主目录下有什么

主目录下有两个一级目录:ModernGMT 和source,分别是ModernGMT的源代码和依赖库的源代码。这个ModernGMT的源代码又我维护,如果想拉取最新代码,只需要在ModernGMT 目录下面运行命令git pull。然后运行命令make install对最新的代码进行重新编译就可以得到最新版的改装过的gmt了。生活如此简单

.
|-- ModernGMT
|   |-- Building_GMT_with_CMake.md
|   |-- CITATION.md
|   |-- CMakeLists.txt
|   |-- COPYING.LESSERv3
|   |-- COPYINGv3
|   |-- LICENSE.TXT
|   |-- README.md
|   |-- build
|   |-- ci
|   |-- cmake
|   |-- doc_classic
|   |-- doc_modern
|   |-- install.md
|   |-- prog_use.sh
|   |-- share
|   |-- src
|   `-- test
`-- source
    |-- BLAS-3.8.0
    |-- blas-3.8.0.tgz
    |-- curl-7.61.1
    |-- curl-7.61.1.tar.gz
    |-- fftw-3.3.8
    |-- fftw-3.3.8.tar.gz
    |-- gdal-2.3.2
    |-- gdal-2.3.2.tar.gz
    |-- hdf5-1.12.0
    |-- hdf5-1.12.0.tar
    |-- lapack-3.8.0
    |-- lapack-3.8.0.tar.gz
    |-- netcdf-4.6.1
    |-- netcdf-4.6.1.tar.gz
    |-- pcre-8.42
    `-- pcre-8.42.tar.gz

⁠几点技巧

  1. 如何获取或者修改容器里面的root密码:docker exec -itu root {containerName} passwd

Tag summary

Content type

Image

Digest

Size

1.7 GB

Last updated

almost 6 years ago

docker pull zguo/moderngmt