0

私は、いくつかのカスタム モジュールに取り組んでいる OpenERP プロジェクトに取り組んでいます。私は3つのコンテナをセットアップしています:

  • app: ここで実行されている OpenERP サービス
  • db: PostgreSQL サービス、他には何もありません
  • data: ボリューム ディレクトリのみであり、'app' コンテナーのデータ プロバイダーとして機能します。

正常に動作していますが、データ コンテナー内のファイルで作業したい場合、適切な IDE を使用するための最速かつ最善の方法がわかりません。コンテナダウン?

1 つのアプローチは、共有 X11 サービスを使用して別のコンテナーを作成し、GUI ベースの IDE または同様のものを使用してそのコンテナーにアクセスすることですが、これは少しやり過ぎのように思えます。

バージョン管理について: 変更を保存するのに適したリモート git リポジトリがありますが、Dockerfile からイメージをビルドしてスピンアップするとすぐに、SSH 接続とコンテナーのみが許可されるため、リポジトリを複製できません。持っていません。

共有データ コンテナーとその素晴らしさに関する記事やブログ投稿をいくつか見つけました。これらのデータコンテナのコー​​ドの実際の開発とコミットについて議論した別の場所を見つけることができませんでした。

考え?

4

1 に答える 1

2

共有 X11 サービスを備えたコンテナーや、git を使用してコンテナーからコード リポジトリを複製する必要はありません。

開発の場合、「データ」コンテナー内のボリュームを使用してコード フォルダーをマウントすると、「アプリ」コンテナーにこれらのファイルが表示されます ( https://docs.docker.com/userguide/dockervolumes/を参照)。

sudo docker run -d -P --name data -v /src/webapp:/opt/webapp my/container

このフォルダはホスト マシンにあるため、「データ」コンテナがシャットダウンされた後も保持されます。お気に入りの IDE を使用してコードを編集することもできます。

運用環境では、コード フォルダーをコンテナー イメージ自体に追加できるため、コンテナーを直接デプロイできます。Dockerfile で:

ADD /home/user/webapp /opt/webapp

また、docker コンテナーにコードを埋め込むか、ボリュームとしてマウントしますか? も参照してください。このアプローチについて簡単に説明します。

于 2014-11-29T10:49:00.483 に答える