docker/composeプロジェクトノート

2943 ワード

声明:このブログは転送を歓迎しますが、元の著者の情報を保留してください.ブログのアドレス:http://blog.csdn.net/halcyonbaby 新浪微博:@神跡を探す
内容は本人の学習、研究と総括です.
compseプロジェクト概要
composeプロジェクトは前のFigプロジェクトから来ています.pythonコードを使って作成します.Apple 2.0のlicenseです.
composeプロジェクトは主にdockerによる応用を編成します.自分とdocker/swarmの配合度が高いです.現在は1.4版までリリースされていますが、公式の説明によると、生産環境には適していません.
composeは主に開発/テストの場に用いられます.小規模なアプリケーションに適した配置.composeはコマンドラインで運行していますが、それ自体はdaemenがありません.配置を編成する能力だけを提供します.クベルnetesに比べて機能が簡単で、クベルネテスのサブセットに相当します.
compse基本機能
composeは現在、以下のコマンドをサポートしています.

[root@localhost Django]# docker-compose 
Define and run multi-container applications with Docker.

Usage:
  docker-compose [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE           Specify an alternate compose file (default: docker-compose.yml)
  -p, --project-name NAME   Specify an alternate project name (default: directory name)
  --verbose                 Show more output
  -v, --version             Print version and exit

Commands:
  build              Build or rebuild services
  help               Get help on a command
  kill               Kill containers
  logs               View output from containers
  port               Print the public port for a port binding
  ps                 List containers
  pull               Pulls service images
  restart            Restart services
  rm                 Remove stopped containers
  run                Run a one-off command
  scale              Set number of containers for a service
  start              Start services
  stop               Stop services
  up                 Create and start containers
  migrate-to-labels  Recreate containers to add labels
  version            Show the Docker-Compose version information
compseコマンドはymlファイルに依存することが多いので、デフォルトでは現在のディレクトリの「docker-compose.yml」を使用してもいいです.
ymlファイルの例

[root@localhost Django]# cat docker-compose.yml 
db:
  image: postgres
web:
  build: .
  command: python manage.py runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"
  links:
    - db

[root@localhost Django]# cat Dockerfile 
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
コマンド詳細
  • build(ymlの中のサービスのイメージを構築する)以上のように、ウェブというサービスは、ミラーブライトに依存しています.ローカルにもDocerfileファイルがあります.docker-compse buildを使用して、サービスのイメージを構築することができます.
  • .
  • ps(起動したサービス状態を確認する)
  • キルル(あるサービスを停止する)
  • logs
  • port(プリントバインディングのpublic port)
  • pull(pullサービスイメージ)
  • up(yml定義のすべてのサービスを起動します)
  • stop(Semlで定義されているすべてのサービスを停止)
  • start(停止されたmlのサービスを起動する)
  • kill(ymlで定義されているすべてのサービスを強制的に停止する)
  • m(ymlで定義されているすべてのサービスを削除)
  • resttart(ymlで定義されているすべてのサービスを再開する)
  • scale
  • migrate-to-labels(これは実際の試みがない.紹介によると、サービスを1.2から1.3バンドlabelsのバージョンに移行する.dockerは以前はlabelをサポートしていない.)
  • version