Docker Component|複数のコンテナの管理
Docker Compose
今回の位置づけは、リバースショットについてです.
メンターは実際のサービスで複数のコンテナを移動するからです.
docker作曲の勉強をお勧めします!👍
合成バー
Docker合成
compositeファイルを使用して複数のコンテナを簡単に管理できる機能です.
以下の実習内容は、ダックの正式な書類に従って実習を行った後に作成された.
installation
まずDockerデスクトップをインストールしました.
この場合、docker-composeがインストールされます.
ターミナルにあります.
app.py
以下はredisとflaskを用いて簡単なWebページを作成します.
get hit count関数を使用してページを更新するたびに
値を1つ増やして返します.
最も基本的なパス~/アクセスを使用すると、hello関数は正常に動作します.
get hit countから受信した値
Hello Wordl!~~ ~times. 真ん中に置いてみんなに見せる
requirements.txt
その後、redisとflaskはdocker内に個別にインストールする必要があるので、記入する必要があります.
今回はDockerfileを書きます. Python 3.7画像から始まります. 作業ディレクトリを/コードに設定します. フラスコに環境を設定します. gccなどの他の依存項目をインストールします. requirements.txtをコピーしてインストールします. EXPOSEにて5000番ポートを公開いたします. 現在のディレクトリはworkdirです.ほうしゃ は最後にflaskrunでwebを実行します. docker-compose.yml
dockerのファイルを作成します.
ターミナルで
次にlocalhost:8000を確認します.
リフレッシュすると、数値が増加し続けることを確認できます.
降りるとき.
そして画像をチェック
複数の画像が生成されていることがわかります.
Edit the compose file
今回はbind mountを追加します.
docker-compose.ymlにボリュームと環境を追加します. volumensは、現在のプロジェクトディレクトリをhostの/コード内コンテナにマウントします.
これにより、コードを変更して画像を再構築する必要がなくなります. Re-build and run the app
上で作ったように、改めて
更新が成功したことを確認するために.
app.pyのhello関数の戻り部分を以下に示します.
リノベーションなしで変更が確認できたのは良かったです.
バックグラウンドの実行
バックグラウンドで回りたいなら、dflagを追加します.
今回の位置づけは、リバースショットについてです.
メンターは実際のサービスで複数のコンテナを移動するからです.
docker作曲の勉強をお勧めします!👍
合成バー
Docker合成
compositeファイルを使用して複数のコンテナを簡単に管理できる機能です.
以下の実習内容は、ダックの正式な書類に従って実習を行った後に作成された.
installation
まずDockerデスクトップをインストールしました.
この場合、docker-composeがインストールされます.
ターミナルにあります.
docker-compose
入力時に下記の結果に設定されていることを確認できます.app.py
以下はredisとflaskを用いて簡単なWebページを作成します.
get hit count関数を使用してページを更新するたびに
値を1つ増やして返します.
最も基本的なパス~/アクセスを使用すると、hello関数は正常に動作します.
get hit countから受信した値
Hello Wordl!~~ ~times. 真ん中に置いてみんなに見せる
requirements.txt
その後、redisとflaskはdocker内に個別にインストールする必要があるので、記入する必要があります.
flask
redis
Dockerfile今回はDockerfileを書きます.
# syntax=docker/dockerfile:1
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
EXPOSE 5000
COPY . .
CMD ["flask","run"]
dockerのファイルを作成します.
version: "3.9"
services:
web:
build: .
ports:
- "8000:5000"
redis:
image: "redis:alpine"
Build and run my appターミナルで
docker-compose up
実行次にlocalhost:8000を確認します.
リフレッシュすると、数値が増加し続けることを確認できます.
降りるとき.
docker-compose down
入力します.そして画像をチェック
複数の画像が生成されていることがわかります.
docker images
Edit the compose file
今回はbind mountを追加します.
docker-compose.ymlにボリュームと環境を追加します.
version: "3.9"
services:
web:
build: .
ports:
- "8000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
これにより、コードを変更して画像を再構築する必要がなくなります.
上で作ったように、改めて
docker-compose up
入力します.更新が成功したことを確認するために.
app.pyのhello関数の戻り部分を以下に示します.
return 'Hello from Docker! I have been seen {} times.\n'.format(count)
リノベーションなしで変更が確認できたのは良かったです.
バックグラウンドの実行
バックグラウンドで回りたいなら、dflagを追加します.
docker-compose up -d
止まった時.docker-compose stop
ボリュームデータを削除する場合はdownを使用します.docker-compose down --volumes
入力します.Reference
この問題について(Docker Component|複数のコンテナの管理), 我々は、より多くの情報をここで見つけました https://velog.io/@bo-lim/Docker-Compose-여러-컨테이너-관리하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol