CentOS 7 に Docker Compose をインストール
Docker Compose を CentOS 7 にインストールする。
手順は GitHub のリリースノートや公式ドキュメントにも記載されているため、詳細はそちらを参照のこと。 github.com docs.docker.com
導入環境
- CentOS 7.7
インストール手順
下記のコマンドを実行しインストール、実行権限の付与を行う。
# curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose
インストール結果の確認を行う。
# docker-compose --version
Get started with Docker Compose
公式ドキュメントにある Getting started に従い、Python Web アプリケーションを Docker Compose で起動する。
前提条件
- Docker Engine のインストール
- Docker Compose のインストール
Setup
作業ディレクトリを作成する。
# mkdir composetest # cd composetest
app.py
を作業ディレクトリに作成し、下記コードをコピー&ペーストする。
import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times.\n'.format(count)
requirements.txt
を作業ディレクトリに作成し、下記をコピー&ペーストする。
flask redis
Create a Dockerfile
Dockerfile
を作業ディレクトリに作成し、下記をコピー&ペーストする。
FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP app.py ENV FLASK_RUN_HOST 0.0.0.0 RUN apk add --no-cache gcc musl-dev linux-headers COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["flask", "run"]
Define services in a Compose file
docker-compose.yml
を作業ディレクトリに作成し、下記をコピー&ペーストする。
version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine"
Build and run your app with Compose
作業ディレクトリで、docker-compose up
コマンドを実行し、アプリケーションを実行する。
ブラウザでhttp://localhost:5000/
へアクセスし、アプリケーションが稼働しているかを確認する。
新しいターミナルを開き、docker image ls
コマンドを実行し、redis
とweb
が表示されることを確認する。
新しいターミナルの作業ディレクトリでdocker-compose down
コマンドを実行し、アプリケーションを停止する。
終わりに
Docker Compose をインストールし、簡単な Web アプリケーションを起動することができた。 公式ドキュメントには、この続きも載っているため、興味のある人は公式ドキュメントを参照してほしい。