Docker 从 Docker Hub 构建项目
Docker build project from Docker Hub
我想使用 Docker 设置 OpenProject。 Hub 中有几个不错的选项,但到目前为止,我已经尝试将 this one 作为最佳选项。我想克隆它,更改数据库默认密码(因为我发现它不安全)然后构建它并 运行 它。我该如何进行?
我试过了docker build -t myrepo/openproject dockerfile_location
。然后我收到 git 不存在的错误。我知道我可以添加 RUN apt-get install git
,但之后我遇到错误 checking for pg_config... no
。为了解决这个问题,我需要安装 postgres,但这意味着我必须将代码和数据放在同一个容器中。这是我试图避免的情况。
我该如何解决这个问题?
您不必将 postgres 二进制文件和数据放在同一个容器中。 pg_config 基本上是在配置你的 postgres。
pg_config
在 postgresql-devel
中(libpq-dev
在 Debian/Ubuntu 中)
本质上:
# container were your data is
docker run -d --name openproject-postgres-data -v /data busybox true
# container were postgres runs
docker run -d --name openproject-postgres --volumes-from openproject-postgres-data -e USER=super -e PASS=password paintedfox/postgresql
# container that actually runs your application and links to your db container
docker run -d --name openproject --link openproject-postgres:postgres -p 8080:80 abevoelker/openproject
我想使用 Docker 设置 OpenProject。 Hub 中有几个不错的选项,但到目前为止,我已经尝试将 this one 作为最佳选项。我想克隆它,更改数据库默认密码(因为我发现它不安全)然后构建它并 运行 它。我该如何进行?
我试过了docker build -t myrepo/openproject dockerfile_location
。然后我收到 git 不存在的错误。我知道我可以添加 RUN apt-get install git
,但之后我遇到错误 checking for pg_config... no
。为了解决这个问题,我需要安装 postgres,但这意味着我必须将代码和数据放在同一个容器中。这是我试图避免的情况。
我该如何解决这个问题?
您不必将 postgres 二进制文件和数据放在同一个容器中。 pg_config 基本上是在配置你的 postgres。
pg_config
在 postgresql-devel
中(libpq-dev
在 Debian/Ubuntu 中)
本质上:
# container were your data is
docker run -d --name openproject-postgres-data -v /data busybox true
# container were postgres runs
docker run -d --name openproject-postgres --volumes-from openproject-postgres-data -e USER=super -e PASS=password paintedfox/postgresql
# container that actually runs your application and links to your db container
docker run -d --name openproject --link openproject-postgres:postgres -p 8080:80 abevoelker/openproject