我目前正在嘗試使用 Zammad Open Source,這是一個帶有 Docker-compose 的幫助臺票務系統。但是,我之前在非 docker 設定中使用過它,我編輯了 html 視圖并添加了我的團隊需要的一些徽標和額外功能。但是,由于某些原因,我們需要盡快遷移到基于 docker 的實體。
我正常安裝成功了,默認的compose檔案在啟動容器時會掛載一個鏡像。之后,我去應用更改,就像我對現有設定所做的那樣。這些更改需要我運行
rake assets:precompile
并僅重新啟動 rails 容器。重新啟動后,它可以作業并反映更改。
但是,一旦我跑步
docker-compose restart
所有容器都重新啟動(如預期的那樣),但 rails 服務器似乎放棄了我所做的每一個更改,一切看起來都好像我剛剛啟動了一個新容器。
我試過的:
- 應用更改,重新啟動 rails 容器,并將容器提交到自定義映像并從中提取。沒用。
- 編輯 dockerfile、入口點腳本以應用更改并在安裝期間運行預編譯。沒用。
碼頭工人-compose.yml
version: '3'
services:
zammad-backup:
command: ["zammad-backup"]
depends_on:
- zammad-railsserver
- zammad-postgresql
entrypoint: /usr/local/bin/backup.sh
environment:
- BACKUP_SLEEP=86400
- HOLD_DAYS=10
- POSTGRESQL_USER=${POSTGRES_USER}
- POSTGRESQL_PASSWORD=${POSTGRES_PASS}
image: ${IMAGE_REPO}:zammad-postgresql${VERSION}
restart: ${RESTART}
volumes:
- zammad-backup:/var/tmp/zammad
- zammad-data:/opt/zammad
zammad-elasticsearch:
environment:
- discovery.type=single-node
image: ${IMAGE_REPO}:zammad-elasticsearch${VERSION}
restart: ${RESTART}
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
zammad-init:
command: ["zammad-init"]
depends_on:
- zammad-postgresql
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- POSTGRESQL_USER=${POSTGRES_USER}
- POSTGRESQL_PASS=${POSTGRES_PASS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION}
restart: on-failure
volumes:
- zammad-data:/opt/zammad
zammad-memcached:
command: memcached -m 256M
image: memcached:1.6.10-alpine
restart: ${RESTART}
zammad-nginx:
command: ["zammad-nginx"]
expose:
- "8080"
depends_on:
- zammad-railsserver
image: ${IMAGE_REPO}:zammad${VERSION}
restart: ${RESTART}
volumes:
- zammad-data:/opt/zammad
zammad-postgresql:
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASS}
image: ${IMAGE_REPO}:zammad-postgresql${VERSION}
restart: ${RESTART}
volumes:
- postgresql-data:/var/lib/postgresql/data
zammad-railsserver:
command: ["zammad-railsserver"]
depends_on:
- zammad-memcached
- zammad-postgresql
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION}
restart: ${RESTART}
volumes:
- zammad-data:/opt/zammad
zammad-redis:
image: redis:6.2.5-alpine
restart: ${RESTART}
zammad-scheduler:
command: ["zammad-scheduler"]
depends_on:
- zammad-memcached
- zammad-railsserver
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION}
restart: ${RESTART}
volumes:
- zammad-data:/opt/zammad
zammad-websocket:
command: ["zammad-websocket"]
depends_on:
- zammad-memcached
- zammad-railsserver
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION}
restart: ${RESTART}
volumes:
- zammad-data:/opt/zammad
volumes:
elasticsearch-data:
driver: local
postgresql-data:
driver: local
zammad-backup:
driver: local
zammad-data:
driver: local
uj5u.com熱心網友回復:
經過幾次頭痛后,我找到了解決方案:
我做了什么:
查看檔案,發現它從 github 拉取影像,下載了影像。提取 tar.gz 檔案后,我應用了我需要的所有更改,重新打包了 tar.gz,并編輯了 dockerfile 以指向新影像。
之后,我需要強制 docker-compose 重建影像。然后,即使重新啟動,更改也會持續存在。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/460259.html
上一篇:IOSGoogleMapsJavaScriptAPI上的ionic錯誤:RefererNotAllowedMapError
下一篇:重構ruby??CSV匯入方法
