LINUX-NGINX-MYSQL-PHPのdocker環境構築

2531 ワード

文書ディレクトリ
  • 紹介
  • 準備
  • 使用手順
  • 共通コマンド
  • 付録
  • Macインストールdocker-sync
  • 日常使用
  • mac使用
  • macは、シンクホストに遭遇するファイルを変更してコンテナに同期できない処理方法
  • を用いる.
    紹介する
    docker-composeを用いてコンテナの編成を行い、nginx-server、phpの2つのコンテナを含み、mysqlはホスト上のmysqlを採用し、プロジェクトコード、発生したログはデータボリュームとコンテナを通じて同期し、コンテナの削除がデータを失うことを防止する.ここでredis,mysql,MongoDBは必要に応じて自動的にコンテナを追加できます.gitはやはりホストgitを採用している.
    の準備を
    前提:docker環境をローカルにインストールする
    mac:docker-syncをインストールする必要があります
    ローカル80ポートは使用しないでください.80を使用しない場合はconfigのプロファイルを変更してください.
    デフォルトhostnameはmyです.dev.me、自己処理を変更する必要がある場合は
    手順の使用
  • 圧縮パッケージ
  • を解凍する
  • クローンまたはwwwディレクトリ
  • gitからクローンコードであればdocker-composeを開く.ymlファイル、次のコードコメントをキャンセルします:
  • #    command:
    #      - /bin/sh
    #      - -c
    #      - |
    #          cd /var/www/html
    #          composer install
    #          composer dump-autoload -o
    #          composer clearcache
    
  • 最初に実行する場合でなければ、3番目のステップコードにコメントがあるかどうかを確認する必要があります(依存パケットを更新する必要がある場合は、状況に応じてcommandのコマンドを開きます)
  • .
  • 検査.Envファイルが生成されるかどうか、存在しない場合は手動で
  • を生成します.
  • は、必要に応じる配置する.Envファイル、データベースはホスト情報で、hostは(host.docker.internal)
  • に固定されています.
  • docker-compose up-d
  • を実行
    共通コマンド
  • 閉じる
  • docker-compose down
    
  • nginx
  • を再起動
    docker-compose restart nginx
    
  • コンテナステータス
  • を開始するかどうかを確認します.
    docker-compose ps
    
  • コンテナ起動時のエラーログを表示します.
  • ではないことを確認します.
    docker-sompose logs nginx
    

    ふろく
    Macインストールdocker-sync
    gem install docker-sync
    

    unison方式を使用する場合は、次のようにインストールする必要があります.
    brew install unison
    brew install eugenmayer/dockersync/unox
    

    rsync方式を使用する場合は、次のようにインストールする必要があります.
    brew install rsync
    

    公式ドキュメント
    日常使用
    docker-compose down
    docker-compose stop
    docker-compose start
    docker-compose restart
    

    mac使用
  • docker-composeを修正します.ymlファイルのコメントは、次の
  • です.
    # Mac  ,    
    # - dolife-sync:/var/www/html/:rw
    - ./www:/var/www/html/:rw # windows       
    
    # Mac      ,     docker-sync start
    # volumes:
    #   dolife-sync:
    #     external: true
    
  • docker-sync start
  • を実行
    macは、遭遇ホストを使用してファイルを変更してコンテナに同期できない処理方法を使用します.
    コンテナに入る:
    docker exec -it     /bin/bash
    

    コンテナ内で実行:
    cd /var/www
    chown -r www-data:www-data html
    

    関連ファイル:github
    個人ブログリンク:https://linjinwei.com/server/20190912084305.html