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

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 ## ポートマッピング

Docker docker-compose