2016-08-02 4 views
3

Dockerの新機能です。 Devopの同僚は、githubリポジトリにWSO2ドッカーイメージを作成しました。彼はそのようなイメージを使用してステージングと実例を作成します。ドッカー画像に変更された設定ファイルを含めるには?

docker-compose.ymlは次のとおりです。

#openssl req  -newkey rsa:2048 -nodes -keyout domain.key  -x509 -days 365 -out domain.crt 

version: '2' 

services: 
    mysql: 
    image: mysql:5.7.10 
    ports: 
     - "3306:3306" 
    volumes: 
     - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d 
    environment: 
     - MYSQL_DATABASE=userdb 
     - MYSQL_USER=dbwso2am 
     - MYSQL_PASSWORD=dbwso2am 
     - MYSQL_ROOT_PASSWORD=dbwso2am 
    wso2am: 
    image: salte/wso2am:1.9.1 
    depends_on: 
     - mysql 
    volumes: 
     - ./keys:/keys 
    environment: 
     - VIRTUAL_HOST=apimanager.qa.xxx.build 
     - VIRTUAL_PORT=9443 
     - VIRTUAL_PROTO=https 
     - OFFSET=3 
     - EXTERNAL_HOSTNAME=apimanager.qa.xxx.build 
     - DATABASE_HOSTNAME=mysql 
     - DATABASE_PORT=3306 
     - DATABASE_USER=dbwso2am 
     - DATABASE_PASSWORD=dbwso2am 
     - PUBLIC_CERTIFICATE=/keys/domain.crt 
     - PRIVATE_KEY=/keys/domain.key 
     - PRIVATE_KEY_PASSWORD=wso2am 
     - ADMIN_PASSWORD=admin 

私はいくつかのxmlファイルに保存されているいくつかのWSO2 configurationを変更し、生産にそれをプッシュしたいと思います。

どうすればよいですか?これは可能ですか?ドッカー画像を変更する必要がありますか?はいの場合はどうですか?または、WSO2を従来のgithubリポジトリにインストールし、そこにxmlを変更して、このリポジトリの内容に基づいてドッカーイメージを再作成する必要がありますか?

答えて

1

1つのxmlを変更するだけでイメージ全体を新たに作成する必要はありません。 ボリュームまたはコマンドで置き換えることができます。 たとえば、私はリンクされた共有フォルダを持っており、コンテナでコマンドを実行できます。 /home/shareにShareフォルダがあり、/ c/Shareにリンクされているとします。 新しいxmlファイルをShareに入れ、コンテナにも表示されます。 次は、次のコマンドを実行します。

docker exec a5866aee4e90 cp -i /home/share/some.xml /home/the/path/you/chose 

ドッカー幹部は、コマンドを実行するために使用されます。 コンソールを入力し、これに複数のコマンドを実行できます。

docker exec -it a5866aee4e90 bash 
+0

どのようにフォルダ共有のことをしますか? RWかどうかは、ドッキングウィンドウのコマンドでそれを実行します:/ホーム/ MB/myskrill: ドッカ実行を -/C /ユーザ/ richardkovachev /ドキュメント/ワークスペース/ myskrill : ボリューム - –

+1

はYMLファイルにこの設定を追加します。 -it --rm = true --name my_name -v/c/Users/richardkovachev /デスクトップ:/ home/share – TreantBG

0

docker cphttps://github.com/docker/docker/pull/6580(既存の設定ファイルを変更する必要があり、ステップ2に起動しない場合と仮定。)

ステップ:

  1. コンテナの設定ファイルをホストにコピーします。 (これは複数の方法で行うことができます:docker cp、簡単なコンソールウィンドウのコピー&ペースト、ボリュームの共有)
  2. ホスト
  3. 上のエディタで設定ファイルを変更するには、docker cp
  4. とコンテナに変更したファイルをコピーバック

これに頼る前に、常に環境変数で変更を適用してみてください。それが不可能な場合は、編集する必要があります。

関連する問題