dockercompose

Posted on 2018-10-10 in zakki

要は

  • Dockerfile (手動) + docker-compose.yml (手動)
  • Dockerfile (DockerHub製) + docker-compose.yml (手動)

のどちらでもよいってこと?そもそも、

  • Dockerfile:FROM、CMD、RUN、の定義。どのようなコンテナを作成するかを定義。ゲスト(コンテナ)側。
  • docker-compose:version、services、volume、の定義。どのようにコンテナを動作させるかを定義。複数のコンテナを動作させるときがメインだけど、一つだけでももちろん良い。ホスト側。

こういうこと?

docker-compose.yml

``` yaml
version: '3'
services:
  nginx: ## 任意
    build: ## image がなかったらビルドするらしい
        dockerfile: ## dockerfile の名前を変えている場合
    image: nginx:latest or nginx:v1.15.5 ## こんな感じ ## image は最初にローカルを探して、無かったらDockerHubを探しに行く。
    container_name: nginx-container ## sudo docker ps の [NAMES] カラムに表示させたい名前
    volumes: ## ホスト側のディレクトリをコンテナ側のディレクトリとしてあつかう(マウント)
      - ./logs/nginx/:/var/log/nginx/
      - ./html/:/usr/share/nginx/html/
    ports: 8080:80 ## ポートマッピング

There are two ways to specify the identifier:

``` python
print("The triple-colon syntax will *not* show line numbers.")