docker-compose - 无法将 docker 容器中的 fusionauth 卷公开给主机
问题描述
我在他们的文档中使用了 fusionauth 建议的 docker compose(https://fusionauth.io/docs/v1/tech/installation-guide/docker)。
我的撰写文件
version: '3.1'
services:
postgres_db:
container_name: postgres_db
image: postgres:9.6
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- ${POSTGRES_PORT}:5432
networks:
- postgres_db
restart: unless-stopped
volumes:
- ${VOLUMES_DIR}/postgres_data:/var/lib/postgresql/data
es_search:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.1
container_name: es_search
environment:
- cluster.name=fusionauth
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=${ES_JAVA_OPTS}"
ports:
- ${ES1_PORT}:9200
- ${ES_PORT}:9300
networks:
- es_search
restart: unless-stopped
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ${VOLUMES_DIR}/es_data:/usr/share/elasticsearch/data
fusionauth:
image: fusionauth/fusionauth-app:1.14.0
container_name: fusionauth
depends_on:
- postgres_db
- es_search
environment:
DATABASE_URL: jdbc:postgresql://postgres_db:5432/fusionauth
DATABASE_ROOT_USER: ${POSTGRES_USER}
DATABASE_ROOT_PASSWORD: ${POSTGRES_PASSWORD}
DATABASE_USER: ${DATABASE_USER}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
FUSIONAUTH_MEMORY: ${FUSIONAUTH_MEMORY}
FUSIONAUTH_SEARCH_SERVERS: http://es_search:9200
FUSIONAUTH_URL: http://fusionauth:9011
FUSIONAUTH_KICKSTART: "/usr/local/fusionauth/fusionauth_kickstart.json"
FUSION_AUTH_API_KEY: ${FUSION_AUTH_API_KEY}
FUSION_AUTH_APP_ID: ${FUSION_AUTH_APP_ID}
FUSION_AUTH_LAMBDA_ID: ${FUSION_AUTH_LAMBDA_ID}
FUSION_AUTH_GOOGLE_CLIENT_ID: ${FUSION_AUTH_GOOGLE_CLIENT_ID}
FUSION_AUTH_GOOGLE_CLIENT_SECRET: ${FUSION_AUTH_GOOGLE_CLIENT_SECRET}
networks:
- fusionauth
- postgres_db
- es_search
restart: unless-stopped
ports:
- ${FUSIONAUTH_PORT}:9011
volumes:
- fusionauth_data:/usr/local/fusionauth/config
- ${FUSIONAUTH_KICKSTART}:/usr/local/fusionauth/fusionauth_kickstart.json
networks:
fusionauth:
postgres_db:
es_search:
volumes:
fusionauth_data:
在 fusionauth 服务的卷中,有这条线fusionauth_data:/usr/local/fusionauth/config
创建了名为 fusionauth_data 的 docker 卷。
但我想将它安装到我的主机中的某个位置。因此,我尝试进行如下修改。
/etc/project/fusionauth_data:/usr/local/fusionauth/config
并删除了文件末尾的卷部分。
当我尝试启动容器时,fusionauth 没有启动并且它抛出错误。
有人可以帮助我从容器内部将该卷安装到主机吗?
解决方案
推荐阅读
- html - 哪个 firefox 怪癖导致了这种行为,我如何在标准模式下重新创建它?
- android - W/ReactNativeJS:可能的未处理承诺拒绝(id:3 和 4)
- arrays - cmp 指令不在 InsertionSort 中进行 jge 跳转
- java - 在 Kotlin 中 getClass() 之后获取 simpleName()
- javascript - 成功 Oauth2 重定向后如何打开模态框?
- android - 如何在 Gridlayout 中更改图像视图的行或列
- python - 如何使用 Python 和 Pandas 在“https”前面添加引号?
- android - API 级别 24 以外的框架的 Android SDK 离线文档在哪里?
- excel - 从另一个工作簿复制数据而不对文件路径进行硬编码
- python - 调用 super() 时元类如何与 MRO 列表一起工作?