
data-docker镜像作为基础数据卷容器,主要用于为GeoServer和PostGIS提供持久化存储解决方案。它支持数据从零开始添加到GeoServer和PostGIS中,并确保在容器停止后数据仍能保持持久化。该镜像便于创建、共享和管理GeoNode相关的持久化数据资源,适用于需要稳定存储GeoServer配置、空间数据等持久化信息的场景。
警告:若要按照本文档执行docker命令,需确保Docker主机环境已正确设置,且Docker默认机器已启动。
注意:所有使用Docker-Machine运行容器的开发者需要进行以下环境检查。使用原生Linux系统或Docker for Mac、Docker for Windows的用户无需执行这些检查。
Docker-Machine环境验证
验证Docker-Machine基础环境,执行以下命令:
console$ docker-machine env
成功配置的环境会输出类似以下内容:
consoleexport DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="<用户主目录>/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default"
配置shell环境以应用Docker-Machine设置:
console$ eval $(docker-machine env)
数据卷(Data volumes)
使用-v选项可直接为容器创建数据卷,示例如下:
console$ docker run -d -P --name geonode-data-container -v /data geonode/geonode-data touch /data/test.txt
上述命令在新容器的/data目录创建数据卷,该卷可被共享并挂载到其他容器。数据卷会持久化存储其中的文件(如示例中的test.txt)。
主机数据卷(Host data volumes)
也可将Docker主机的本地目录挂载到容器中,适用于测试场景,但会受限于主机目录配置,可能影响容器可移植性:
console$ docker run -d -P --name geonode-data-container -v /geonode_data/data:/data geonode/geonode-data touch /data/test.txt
注意:对于GeoNode数据,此方式无法像开发环境中执行
(venv)$ paver reset_hard那样从零开始重置数据。
数据卷容器(Data volume containers)
数据卷容器是定义存储空间的Docker镜像,本身不运行服务进程,创建后即处于停止状态,但会保留其数据存储。
创建数据卷容器
创建用于存储GeoNode持久化共享数据资源的专用容器:
console$ docker create -v /geonode-store --name geonode-data-container geonode/geonode-data /bin/true
注意:
/bin/true命令在执行成功时返回0且不执行任何操作,用于确保容器创建后正确退出并保持停止状态。
挂载数据卷容器到其他容器
通过--volumes-from选项将数据卷容器的/geonode-store目录挂载到其他容器:
console$ docker run -d --volumes-from geonode-data-container --name geoserver geonode/geoserver
提示:删除挂载了卷的容器后,卷存储及其数据不会被删除。若需完全从文件系统中删除卷,需运行:
console$ docker rm -v geoserver
启动数据卷创建
在/geoserver_data/data目录中创建包含GEOSERVER_DATA_DIR的卷:
console$ docker-compose up
运行使用该卷的GeoServer容器
console# 需要先从Docker Hub拉取geonode/geoserver:2.10.x镜像 $ docker run -d --volumes-from geoserver_data_dir --name geoserver geonode/geoserver
验证数据卷内容
验证预加载的GeoServer数据目录(适用于GeoServer 2.18.2)是否正确挂载:
console$ docker exec -it geoserver ls -lart /geoserver_data/data/
成功挂载后输出类似以下内容:
consoletotal 76 drwxr-xr-x 3 root root 4096 Aug 27 16:51 workspaces -rw-r--r-- 1 root root 1547 Aug 27 16:51 wms.xml -rw-r--r-- 1 root root 2013 Aug 27 16:51 wfs.xml -rw-r--r-- 1 root root 1285 Aug 27 16:51 wcs.xml drwxr-xr-x 2 root root 4096 Aug 27 16:51 styles drwxr-xr-x 8 root root 4096 Aug 27 16:51 security drwxr-xr-x 2 root root 4096 Aug 27 16:51 printing drwxr-xr-x 2 root root 4096 Aug 27 16:51 plugIns drwxr-xr-x 2 root root 4096 Aug 27 16:51 palettes drwxr-xr-x 2 root root 4096 Aug 27 16:51 logs -rw-r--r-- 1 root root 144 Aug 27 16:51 logging.xml drwxr-xr-x 2 root root 4096 Aug 27 16:51 images -rw-r--r-- 1 root root 1111 Aug 27 16:51 gwc-gs.xml -rw-r--r-- 1 root root 1374 Aug 27 16:51 global.xml drwxr-xr-x 2 root root 4096 Aug 27 16:51 geonode drwxr-xr-x 2 root root 4096 Aug 27 16:51 demo -rw-r--r-- 1 root root 184 Aug 27 16:51 README.rst drwxr-xr-x 12 root root 4096 Aug 27 16:51 . drwxr-xr-x 7 root root4096 Aug 27 17:08 ..
以下是使用data-docker镜像的docker-compose.yml示例,该配置从Docker Hub拉取指定版本(如GeoServer-GeoNode 2.18.2)的镜像,并挂载数据目录:
yamlversion: '2' services: geoserver: build: . ports: - "8888:8080" volumes_from: # 引用包含预加载geoserver_data_dir卷的服务 - data_dir_conf data_dir_conf: image: geonode/geoserver_data:2.18.2 container_name: geoserver_data_dir # 命名数据容器 command: /bin/true volumes: - /geoserver_data/data volumes: # 引用包含预加载GeoServer数据目录的命名数据容器 geoserver_data_dir:
Docker Hub提供多个版本标签的data-docker镜像,适用于不同版本的GeoServer和GeoNode:
geonode/geoserver_data:2.9.xgeonode/geoserver_data:2.9.x-oauth2geonode/geoserver_data:2.10.xgeonode/geoserver_data:2.12.xgeonode/geoserver_data:2.13.xgeonode/geoserver_data:2.14.xgeonode/geoserver_data:2.18.2(各标签详细信息可通过Docker Hub对应链接查看)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务