2020年5月19日火曜日

docker-composeファイルの記述方法について

Docker compose とは:
以下の様な、個別のコンテナを一括で作成管理をするツールになる。
(個別で、Dokcerfileの実行が不要なので楽)


簡単なイメージ:
project_folder
|-------docker-compose <-----ここにnginxとphpのコンテナ実行に関する記述を記載
|-------nginx
| |----Dockerfile
|-------php
|----Dockerfile


Docker composeの記述方法について:
[image]
イメージを取得
例:
image: ubuntu

[build]
Dockerfile のあるディレクトリのパスを指定する。
例:
build: /path/to/build/dir

[command]
コマンドを使用時に記載
例:
command: bundle exec thin -p 3000

[links]
①コンテナを他のサービスにリンクします。
サービス名とリンク・エイリアス(サービス:エイリアス)を指定できるだけでなく
又は、サービス名(エイリアスとしても使われます)でも指定できます。

例:
links:
- db
- db:database
- redis


②エイリアス名を記述すると、コンテナ内の/etc/hosts の中にサービス名が
追加されるようだ。
例:
172.17.2.186 db
172.17.2.186 database
172.17.2.187 redis


Dockerの環境変数について:
参照先:

①name_PORT
全ての URL です。
例:DB_PORT=tcp://172.17.0.5:5432

②name_PORT_num_protocol
全ての URL です。
例:DB_PORT_5432_TCP=tcp://172.17.0.5:5432

③name_PORT_num_protocol_ADDR
コンテナの IP アドレスです。
例:DB_PORT_5432_TCP_ADDR=172.17.0.5

④name_PORT_num_protocol_PORT
公開するポート番号です。
例:DB_PORT_5432_TCP_PORT=5432

⑤name_PORT_num_protocol_PROTO
プロトコルです(TCP か UDP)。
例:DB_PORT_5432_TCP_PROTO=tcp

⑥name_NAME
コンテナの完全修飾名です。
例:DB_1_NAME=/myapp_web_1/myapp_db_1

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...