轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
osm2pgsql

iboates/osm2pgsql

iboates

基于官方osm2pgsql仓库构建的最小化Docker镜像,仅包含osm2pgsql及其兼容工具,解决现有镜像版本硬编码、包含额外功能或长期未更新的问题。

6 次收藏下载次数: 0状态:社区镜像维护者:iboates仓库类型:镜像最近更新:5 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这段话即可:

请先阅读并遵守:https://xuanyuan.cloud/agents.md

未读文档前不要生成 pull 命令或排错方案。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

DockerHub 官方简介
轩辕镜像中文简介
下载命令
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。
点击查看

osm2pgsql-docker

Pre-built, minimalist Docker images for running https://github.com/osm2pgsql-dev/osm2pgsql

The size might not be as minimal as it could be, work needs to be done to isolate runtime dependencies from build dependencies to make the final images slimmer.

Why

There are indeed several osm2pgsql docker images floating around on dockerhub, but I found that they all had at least one deficiency:

  • Version was hardcoded
  • Also included other convenience features like built-in databases or other related GIS utilities
  • Had not been updated in several years

So at the https://wiki.openstreetmap.org/wiki/Karlsruhe_Hack_Weekend_February_2024, I resolved to build a comprehensive set of minimal images that contain only osm2pgsql, built with the official instructions from the source repo.

Use

Quick start

The below example will pull the latest image and run it with no command (prints helpdocs). Change latest to specific tag number to get that release version. Release version can be found at the source repo's https://github.com/osm2pgsql-dev/osm2pgsql/releases.

sh
docker run docker.io/iboates/osm2pgsql:latest

The image can be build locally with this command:

shell
docker build \
  --tag custom-osm2pgsql-image \
  --file dockerfiles/2.0.0/Dockerfile \
  scripts

NOTE: osm2pgsql-replication and osm2pgsql-gen are bundled with the image for every version for which these extra utilities are compatible. For more information about how to invoke those, see the relevant section

Minimal import

The below example assumes you already have a PostGIS instance running on localhost, port 5432.

sh
wget -O data.pbf https://download.geofabrik.de/europe/andorra-latest.osm.pbf
docker run -v $(pwd):/data -e PGPASSWORD=<your password> --network="host" iboates/osm2pgsql:latest \
 -d o2p \
 -U o2p \
 -H 127.0.0.1 \
 -P 5432 \
 /data/data.pbf

Note that in order to access an existing PostGIS instance on the host machine, you must specify --network="host", so that the container can access the port. A more sensible way of doing this is to include this image in a docker-compose file which also contains a PostGIS instance, an example of which can be found here. If the PostGIS instance is on an external IP, however, you should be able to omit this command.

Also note that when specifying locations of files, they must be specified using the mounted path inside the container. In this example, we have mounted the current working directory as /data. So the PBF file we downloaded is accessible at /data/data.pbf.

Import directly from URL

An extra feature in this image compared to a native install is that you can pass a URL to a .pbf file instead of a file path. The image will download the file, load it, then delete it afterwards:

sh
docker run -v $(pwd):/data -e PGPASSWORD=<your password> --network="host" iboates/osm2pgsql:latest \
 -d o2p \
 -U o2p \
 -H 127.0.0.1 \
 -P 5432 \
 https://download.geofabrik.de/europe/andorra-latest.osm.pbf

The file will be downloaded to /tmp in the container by default. You can change this if necessary by setting an environment variable:

docker run -v $(pwd):/data -e PGPASSWORD=<your password> -e PBF_DOWNLOAD_DIR=<your download path> --network="host" iboates/osm2pgsql:latest \
 -d o2p \
 -U o2p \
 -H 127.0.0.1 \
 -P 5432 \
 https://download.geofabrik.de/europe/andorra-latest.osm.pbf

Import with style file

The below example shows how to do an import with a custom style file

sh
docker run -v $(pwd):/data -e PGPASSWORD=<your password> --network="host" iboates/osm2pgsql:latest \
 -d o2p \
 -U o2p \
 -H 127.0.0.1 \
 -P 5432 \
 -O flex \
 -S /data/style.lua \
 https://download.geofabrik.de/europe/andorra-latest.osm.pbf

As before, note that when specifying locations of files, they must be specified using the mounted path inside the container. In this example, we have mounted the current working directory as /data. So for this example, the PBF file we downloaded is accessible at /data/data.pbf, and the style file must be saved in the current directory as style.lua, and will be accessible at /data/style.lua

For more information regarding the -O flag and styles in general, please refer to the manual, as it is a rather complex topic that is outside of the scope of the docker images.

Launch directly as docker-compose with PostGIS instance

The below example shows how to launch a more reasonable and ergonomic local deployment of osm2pgsql with an accompanying PostGIS instance:

yaml
version: '3.8'

services:
  
  postgis:
    image: postgis/postgis:latest
    environment:
      POSTGRES_DB: o2p
      POSTGRES_USER: o2p
      POSTGRES_PASSWORD: o2p
    volumes:
      - postgis_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"
        
  osm2pgsql:
    image: iboates/osm2pgsql:latest
    environment:
      PGPASSWORD: o2p

volumes:
  postgis_data:

Run it like this:

sh
docker compose up -d

And perform another minimal import like so:

sh
docker compose run osm2pgsql \
 -d o2p \
 -U o2p \
 -H postgis \
 -P 5432 \
 https://download.geofabrik.de/europe/andorra-latest.osm.pbf

The benefit here is that the PostGIS instance runs in the same network as where the osm2pgsql container will run, and we have bound its port 5432 to the host machine's port 5432, so you can connect to it directly as if it were just running locally:

sh
export PGPASSWORD=o2p; psql -h 127.0.0.1 -p 5432 -d o2p -U o2p

Verify that the import was successful:

sql
SELECT osm_id FROM planet_osm_point LIMIT 1;

Using extra utilities

It's important to realize that this image actually bundles osm2pgsql (the main application) and the accompanying utilities (osm2pgsql-replication) https://github.com/osm2pgsql-dev/osm2pgsql/blob/master/scripts/osm2pgsql-replication (manual), osm2pgsql-expire (manual) and osm2pgsql-gen (manual). Normally, one would execute these via these identifiers, but since the image is named osm2pgsql, it can get unwieldly to have to use a command like docker run osm2pgsql:latest osm2pgsql-gen, so we offer a lot of flexibility on how to access them. The below table summarizes what combination of keywords will execute which utility:

CommandEquivalent in native install
docker run osm2pgsql:latest <args>osm2pgsql <args>
docker run osm2pgsql:latest osm2pgsql <args>osm2pgsql <args>
docker run osm2pgsql:latest replication <args>osm2pgsql-replication <args>
docker run osm2pgsql:latest osm2pgsql-replication <args>osm2pgsql-replication <args>
docker run osm2pgsql:latest gen <args>osm2pgsql-gen <args>
docker run osm2pgsql:latest generalization <args>osm2pgsql-gen <args>
docker run osm2pgsql:latest osm2pgsql-generalization <args>osm2pgsql-gen <args>
docker run osm2pgsql:latest osm2pgsql-gen <args>osm2pgsql-gen <args>
docker run osm2pgsql:latest osm2pgsql-expire <args>osm2pgsql-expire <args>
docker run osm2pgsql:latest expire <args>osm2pgsql-expire <args>

Credits

  • These images were built by Isaac Boates at the https://wiki.openstreetmap.org/wiki/Karlsruhe_Hack_Weekend_February_2024 with help from the authors and other attendees
  • osm2pgsql is primarily maintained by Jochen Topf

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 osm2pgsql 镜像标签

docker pull docker.xuanyuan.run/iboates/osm2pgsql:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull iboates/osm2pgsql:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
iboates/osm2pgsql
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
官方技术交流群:|问题咨询请:提交工单
服务号:轩辕镜像|公众号:源码跳动|小程序:轩辕镜像|官方技术交流群:|问题咨询请:提交工单
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 osm2pgsql 镜像推荐

iboates/osmium logo

iboates/osmium

iboates
基于官方仓库的osmium(OpenStreetMap工具)最小化Docker镜像
3 次收藏5万+ 次下载
1 天前更新

查看更多 osm2pgsql 相关镜像

更多相关 Docker 镜像与资源

以下是 iboates/osm2pgsql 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • postgis/postgis Docker 镜像说明(PostGIS 空间数据库扩展,为 PostgreSQL 添加地理空间功能)
  • kartoza/postgis Docker 镜像说明(PostGIS 地理空间数据库扩展,基于 PostgreSQL)
  • imresamu/postgis Docker 镜像说明(PostGIS 地理空间数据库扩展,Imresamu 维护版本)
  • corpusops/postgis Docker 镜像说明(Postgis 镜像变体,适合 Postgis、Postgres、Postgresql 相关部署场景)
  • mdillon/postgis Docker 镜像说明(Postgis 镜像变体,适合 Postgis、Postgres、Postgresql 相关部署场景)