5月28日ティル:Docker構成、ボリューム、カール


ドッカー構成

version: '3'
  services:
    server:
      build: .
      volumes:
        - .:/app
      ports:
        - 9090:9090
      command: ['wait-for-it.sh', 'db:3306', '--', 'air']
      depends_on:
        - db
    db:
      image: mysql
      restart: always
      environment:
        MYSQL_USER: admin
        MYSQL_PASSWORD: password
        MYSQL_ROOT_PASSWORD: password
        MYSQL_DATABASE: sampleDb
      ports:
        - '3306:3306'
      volumes:
        - mysql_db:/var/lib/mysql
      command:
        [
          'mysqld',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
        ]
  volumes:
    mysql_db:
  • 2つのコンテナ:サーバーとDB
  • サーバ
  • は現在のパス
  • にDockerfileを構築します
  • は、ホストおよびコンテナ
  • 内のポート9090上で動作する
  • はそれを待ちます.' sh 'はポート3306の空室状況を待ちます.shは単なる例であり、このシェルスクリプトはDockerfile
  • はDBコンテナ
  • に依存します
  • DB
    MySQLイメージ
  • で実行される
  • 私たちは、このDockerの構成の最後の行で、MysqlCage DBという名前のボリュームを持っています.YMLファイルとDBコンテナの仮想ファイルシステムの' var/lib/mysql 'ディレクトリにマウントされています
  • カールとその旗
    curlは、サポートされているプロトコル(FTP、HTTP、SFTP、およびより多く)の1つを使用してデータをサーバーから転送するツールです
  • 例:
  • 
    RUN curl -fLo [install.sh](http://install.sh/) [https://raw.githubusercontent.com/cosmtrek/air/master/install.sh](https://raw.githubusercontent.com/cosmtrek/air/master/install.sh)
    
    
  • - FはHTTPがサーバーエラー
  • で静かに失敗するのを許します
  • - Lは、サーバーが要求されたページが異なる場所
  • に動かされたと報告するならば、カールが新しい場所の上で要求をやり直すことを作ります
  • - O指定されたファイル
  • に出力を書き込む
  • - sは、サイレントモード
  • です
  • - sは- sで使用され、失敗するとcurlはエラーメッセージを表示します.SSFL