# 使用 Docker 为开发环境安装 Discourse

**URL:** https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009
**Category:** Developer Guides
**Tags:** docker, dev-install, how-to
**Created:** [2018年十一月16日 09:40 UTC](https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009 "2018-11-16T09:40:04Z")
**Posts on this page:** 1
**Showing post:** 326

<div class="post-metadata">

### Author: ![dubwoc](https://avatars.discourse-cdn.com/v4/letter/d/b4bc9f/32.png) [@dubwoc](https://meta.discourse.org/u/dubwoc)
#### Post date: [2026年五月22日 05:35 UTC](https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009/326 "2026-05-22T05:35:27Z")

</div>

这个解决方案可行吗？我无法越过 d/boot\_dev --init 这一步。

更新：  
我明白了，如果你的开发者 UID 不是 1000（就像 discourse\_dev 容器中的 discourse 用户那样），这个方法似乎就失效了。

uid=1000(discourse) gid=1000(discourse) groups=1000(discourse)

> **我遇到的一系列问题**
>
> ```plaintext
> nastee@station ~/vendsrc/discourse > ./d/boot_dev --init
> 正在使用位于：/home/nastee/vendsrc/discourse 的源码
> 正在使用位于：/home/nastee/vendsrc/discourse/data/postgres 的数据
> release: 正在从 discourse/discourse_dev 拉取
> .....
> 摘要：sha256:e118af085d4be0486d4d9bfa83ac1c519d9975bed9a08180d10d5ad7c508632c
> 状态：已下载 discourse/discourse_dev:release 的新镜像
> docker.io/discourse/discourse_dev:release
> f517752802e70b8a9110972bb3ddc0e9343d0c430603e4a9ae3eacc5ec69a2cf
> 正在安装 gems...
> 尝试写入 `/src/Gemfile.lock` 时出错。您可能需要为该路径授予写入权限。
> 
> ```
> 
> 感谢：[There was an error while trying to write to `/src/Gemfile.lock`. It is likely that you need to grant write permissions for that path - #2 by jacque006](https://meta.discourse.org/t/there-was-an-error-while-trying-to-write-to-src-gemfile-lock-it-is-likely-that-you-need-to-grant-write-permissions-for-that-path/334048/2)
> 
> 我将该文件权限设为 777（真恶心），这样做之后，至少 Gems 现在可以安装了，但下一个 docker exec 进程尝试写入源码目录时却失败了，因为它并非以我的用户身份运行，于是我得到了以下错误：
> 
> ```plaintext
> EACCES EACCES: 权限被拒绝，无法打开 '/src/_tmp_82_62be1aeb82e80c1d1054dac8bdbc5923'
> 
> ```
> 
> 好吧，那为什么不试试 `sudo chmod 4777 .` 呢，其中 . 是我正在运行 d/ 命令的克隆源码目录。
> 
> 这导致我遇到了：
> 
> ```plaintext
> EACCES 尝试创建符号链接 "../../../node_modules/.pnpm/prettier@3.8.1/node_modules/prettier" 到 "/src/docs/developer-guides/node_modules/prettier" 时出错。错误发生在尝试创建符号链接目标父目录时。详细信息：Error: EACCES: 权限被拒绝，无法创建目录 '/src/docs/developer-guides/node_modules'
> 
> ```
> 
> 在遇到另一个权限问题并直接执行 chmod 777 -R . 之后：
> 
> 最终导致：
> 
> ```plaintext
> 连接到位于套接字 "/var/run/postgresql/.s.PGSQL.5432" 的服务器失败：没有此类文件或目录
> 
> ```

---

_[View the full topic](https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009)._
