LinuxServer.io团队提供的Docker镜像,基于IPFS(点对点超媒体协议),旨在使网络更快、更安全、更开放。该团队的容器特点包括:定期及时的应用更新、简单的用户映射(PGID、PUID)、自定义基础镜像与s6 overlay、每周基础OS更新以最小化空间占用、停机时间和带宽,以及定期安全更新。
该镜像已弃用。我们将不再为该镜像提供支持,也不会对其进行更新。请使用官方IPFS容器:https://hub.docker.com/r/ipfs/go-ipfs%E3%80%82%E8%AF%A5%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E6%97%B6%EF%BC%8CWeb%E7%95%8C%E9%9D%A2%E4%B8%8E%E9%BB%98%E8%AE%A4IPFS%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9B%86%E6%88%90%E4%B8%8D%E4%BD%B3%EF%BC%8C%E7%8E%B0%E5%9C%A8%E5%AE%98%E6%96%B9%E9%9B%86%E6%88%90%E5%B7%B2%E5%AE%8C%E5%96%84%E4%B8%94%E7%BB%B4%E6%8A%A4%E8%89%AF%E5%A5%BD%EF%BC%8C%E5%8D%95%E7%8B%AC%E5%9C%A8%E9%9D%99%E6%80%81Web%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%E5%B7%B2%E6%97%A0%E5%AE%9E%E9%99%85%E6%84%8F%E4%B9%89%E3%80%82
Ipfs 是一种点对点超媒体协议,旨在使网络更快、更安全、更开放。本镜像为LinuxServer.io提供的IPFS容器化实现,方便用户快速部署IPFS节点。
我们的镜像支持多种架构,如x86-64、arm64和armhf。我们利用Docker manifest实现多平台识别。只需拉取lscr.io/linuxserver/ipfs即可获取适合您架构的正确镜像,也可通过标签拉取特定架构的镜像。
| 架构 | 标签 |
|---|---|
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
若要将文件推送到本地网关之外,需确保端口4001已转发至互联网。这是IPFS节点相互通信并使公共网关能够提供文件所必需的。
Cloudflare是一个可靠的选择,因其会在CDN上边缘缓存文件,即使您的固定节点暂时宕机,其缓存也可维持长达一个月。
有关IPFS的更多使用方法,请参阅文档此处。
以下是帮助您开始创建容器的示例代码片段。
yaml--- version: "2.1" services: ipfs: image: lscr.io/linuxserver/ipfs container_name: ipfs environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - /path/to/data:/config ports: - 80:80 - 4001:4001 - 5001:5001 - 8080:8080 - 443:443 #可选 restart: unless-stopped
bashdocker run -d \ --name=ipfs \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -p 80:80 \ -p 4001:4001 \ -p 5001:5001 \ -p 8080:8080 \ -p 443:443 `#可选` \ -v /path/to/data:/config \ --restart unless-stopped \ lscr.io/linuxserver/ipfs
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数以冒号分隔,表示<外部>:<内部>。例如,-p 8080:80将容器内的端口80暴露到主机IP的端口8080。
| 参数 | 功能 |
|---|---|
-p 80 | IPFS Web UI端口 |
-p 4001 | 对等连接端口,这是唯一需要暴露到互联网的端口 |
-p 5001 | API端口,客户端WebUI需要从Web浏览器所在机器与此端口通信 |
-p 8080 | 网关端口,用于提供IPFS内容 |
-p 443 | Web UI的HTTPS端口 |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=Europe/London | 指定时区,例如Europe/London |
-v /config | IPFS存储和配置文件/日志的路径 |
您可以通过使用特殊前缀FILE__从文件设置任何环境变量。
例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
这将根据/run/secrets/mysecretpassword文件的内容设置PASSWORD环境变量。
对于所有镜像,我们提供了通过可选的-e UMASK=022设置来覆盖容器内服务默认umask的能力。请注意,umask不是chmod,它基于其值减去权限,而不是添加。请在请求支持前阅读此处的相关说明。
使用卷(-v标志)时,主机OS和容器之间可能会出现权限问题。我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都归您指定的相同用户所有,权限问题将迎刃而解。
在此示例中,PUID=1000和PGID=1000。要查找您的ID,请使用id user命令:
bash$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=ipfs&query=%24.mods%5B%27ipfs%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看此容器的可用mods") https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看可用的通用mods")
我们发布了各种https://github.com/linuxserver/docker-mods%EF%BC%8C%E4%BB%A5%E5%90%AF%E7%94%A8%E5%AE%B9%E5%99%A8%E5%86%85%E7%9A%84%E9%99%84%E5%8A%A0%E5%8A%9F%E8%83%BD%E3%80%82%E4%B8%8A%E8%BF%B0%E5%8A%A8%E6%80%81%E5%BE%BD%E7%AB%A0%E5%8F%AF%E8%AE%BF%E9%97%AE%E6%AD%A4%E9%95%9C%E5%83%8F%E5%8F%AF%E7%94%A8%E7%9A%84Mods%E5%88%97%E8%A1%A8%EF%BC%88%E5%A6%82%E6%9C%89%EF%BC%89%E4%BB%A5%E5%8F%8A%E5%8F%AF%E5%BA%94%E7%94%A8%E4%BA%8E%E6%88%91%E4%BB%AC%E4%BB%BB%E4%BD%95%E9%95%9C%E5%83%8F%E7%9A%84%E9%80%9A%E7%94%A8Mods%E3%80%82
docker exec -it ipfs /bin/bashdocker logs -f ipfsdocker inspect -f '{{ index .Config.Labels "build_version" }}' ipfsdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/ipfs我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除某些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请参阅上述应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull ipfsdocker-compose up -d
docker-compose up -d ipfsdocker image prunedocker pull lscr.io/linuxserver/ipfsdocker stop ipfsdocker rm ipfs/config文件夹和设置将被保留)docker image prune拉取最新标签镜像并使用相同环境变量替换:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once ipfs
您还可以删除旧的悬空镜像:docker image prune
注意: 我们不认可使用Watchtower作为现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。长期来看,我们强烈建议使用Docker Compose。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone https://github.com/linuxserver/docker-ipfs.git cd docker-ipfs docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/ipfs:latest .
ARM变体可使用multiarch/qemu-user-static在x86_64硬件上构建:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务