2017-01-20 13 views
0

私はlightervelプロジェクトとnginxのためにdocker-composeを使って作業しています。Dockerはコンテナの外部にファイルを作成します

これは私のドッキングウィンドウ-compose.ymlです:

version: '2' 
services: 
    backend: 
    image: my_image 
    depends_on: 
    - elastic 
    - mysql 
    mysql: 
    image: mysql:8.0.0 
    nginx: 
    depends_on: 
    - backend 
    image: my_image 
    ports: 
     - 81:80 

だから、私のLaravelプロジェクトは、コンテナのバックエンドであり、そして私は、コマンドを実行する場合:docker-compose up -dそれはすべてのコンテナが作成され、大丈夫だと私のプロジェクトがあります私の問題は、私のコンテナバックエンドのLaravelプロジェクトでは、.envファイルにデータベースのログイン、パスワードなどがあります。

docker-compose upの後にこのファイルを編集するにはどうすればよいですか?コンテナの中に直接ファイルをリンクする方法はありますか?これに

おかげ

答えて

1

一つのアプローチは、そこにあなたがコンテナにエクスポートされるキーと値のペアのリストを置くことができ、ドッキングウィンドウ-compose.ymlに「env_file」ディレクティブを使用することです。例:

web: 
    image: nginx:latest 
    env_file: 
     - .env 
    ports: 
     - "8181:80" 
    volumes: 
     - ./code:/code 

これらのenv値を使用するようにアプリケーションを設定できます。
値を変更したり、新しい値を追加したりすると、コンテナを再作成する必要があります(docker-dooseは& & docker-upose -dを作成します)。

関連する問題