0

我曾假设 docker-compose 卷是在容器服务启动之前安装的。是这样吗?

我问,因为我有一个 docker-compose.yml,除其他外,它会启动一个解析服务器容器,并在容器中安装一个主机目录,其中包含一些服务应该运行的代码(云代码)。

docker-compose up通过外壳进入容器​​后,我可以看到目录已正确安装;预期的文件在预期的位置。但是解析服务器实例不会触发挂载目录中的代码(我通过添加一些垃圾来检查它;没有错误)。

解析服务器服务启动后是否可以安装卷?

这是我的 docker-compose.yml:

version: "3"

volumes:
  myappdbdata:
  myappconfigdata:

services:
  # MongoDB
  myappdb:
    image: mongo:3.0.8
    volumes:
      - myappdbdata:/data/db
      - myappconfigdata:/data/configdb

  # Parse Server
  myapp-parse-server:
    image: parseplatform/parse-server:2.7.2
    environment:
      - PARSE_SERVER_MASTER_KEY=someString
      - PARSE_SERVER_APPLICATION_ID=myapp
      - VERBOSE=1
      - PARSE_SERVER_DATABASE_URI=mongodb://myappdb:27017/dev
      - PARSE_SERVER_URL=http://myapp-parse-server:1337/parse
      - PARSE_SERVER_CLOUD_CODE_MAIN = /parse-server/cloud/
    depends_on:
      - myappdb
    ports:
      - 5000:1337
    volumes:
      - ./cloud:/parse-server/cloud
4

2 回答 2

1

我不确定响应,因为我在文档中找不到此信息。但是当我需要在容器真正运行之前安装它们时,我遇到了卷问题。例如,有时未加载配置文件。

处理它的唯一方法是创建一个 Dockerfile,复制您想要的内容,然后将此映像用于您的容器。

嗯。

于 2018-02-20T23:48:13.697 回答
0

可悲的是,这里最大的问题是空白

PARSE_SERVER_CLOUD_CODE_MAIN = /parse-server/cloud/

本来应该

PARSE_SERVER_CLOUD=/parse-server/cloud/

用了1.5天追这个;fml。

于 2018-02-21T15:07:37.013 回答