2017-08-12 19 views
1

いくつかのテーマがあらかじめインストールされているGhost用カスタムDockerイメージ(https://ghost.org/)を作成しようとしています。私は公式の画像(https://hub.docker.com/_/ghost/)を引っ張り、宇野禅説明書のとおり(https://github.com/Kikobeats/uno-zen)テーマインストール - 設定スクリプトを実行し、content/themesにクローンをなどデータをDockerイメージの一部として保存しますか?

私は、既存の別の層として、これらの変更をプッシュするdocker commitを走りましたドッカー画像。しかし、次回このイメージを使用してコンテナを回転させると、テーマファイルがどこにあるのかわかりません。それは変わらない変化のようです。

私は間違っていますか?

答えて

1

問題はは/ var/libに/ゴースト/コンテンツがボリュームとして宣言されていることである。

ディレクトリがDockerfileでボリュームとして宣言されている
ENV GHOST_CONTENT /var/lib/ghost/content 
... 
VOLUME $GHOST_CONTENT 

、それに加えられた変更は、その後保存されません新しい画像を作成またはコミットするときに使用します。

可能な回避策はを別のもの、たとえば/var/lib/ghost/content.realにコピーして再設定することです。 Dockerfileにこれらのコマンドを追加することができます(&コミットを実行するのではなく、Dockerfileで変更することをお勧めします)。オリジナルDockerfileから採取

ENV GHOST_CONTENT /var/lib/ghost/content.real 
RUN cp -a /var/lib/ghost/content "$GHOST_CONTENT"; \ 
     gosu node ghost config --ip 0.0.0.0 --port 2368 --no-prompt --db sqlite3 --url http://localhost:2368 --dbpath "$GHOST_CONTENT/data/ghost.db"; \ 
     gosu node ghost config paths.contentPath "$GHOST_CONTENT" 

VOLUME "$GHOST_CONTENT" 

ヒント:ウェル

https://github.com/docker-library/ghost/blob/a9b023e922f4f44c4c15f765973c2939f1be9b12/1/debian/Dockerfile

+0

TIL。これに感謝します。どのように私は私が何を探している達成することができる任意の提案? – user1649740

+0

可能な回避策を使用して回答を編集しました。 –

+0

Dockerfileを代わりに使用することをお勧めしますので、Dockerfileのテーマ部分の設定手順も行う必要がありますか? – user1649740

関連する問題