私はマイクロサービス アーキテクチャを使用しています。デーモン サービス (シェル スクリプト) はすでに開発済みです。次に、それらをそれぞれ Docker コンテナーで実行したいと考えています。私は Docker の初心者なので、これらのデーモンをコンテナーに接続する方法や、それらの間の通信を確実にする方法を説明するドキュメントやチュートリアルなどの推奨事項が必要です。
答え1
通常、次のような Dockerfile を使用して Docker イメージを作成します。
- 何らかのイメージを導き出す[1] (
FROM debian
) - スクリプトを調整するために必要な追加パッケージをインストールします (
RUN apt install ...
) - スクリプトをイメージにコピーします (
COPY daemonscript.sh /opt/daemonscript.sh
) - 実行するスクリプトを設定します: `ENTRYPOINT ["/bin/bash","/opt/daemonscript.sh","parm1","parm2"]
イメージを入手したら、それを実行することができます。実行をまたいでデータを保持する必要がある場合は、「bind-mounts」を使用してコンテナのデータディレクトリをホスト上のディレクトリに関連付けることもできます[2]
複数のコンテナを同時に実行するには、より簡単な方法はdocker-compose
[1] 適切なイメージを選択するには、通常、追加のインストールが最小限に抑えられ、同時に不要な負荷がかかっていないイメージを探します。Apache、nginx、python、wordpress、mysqlなど、ほぼすべてのものについて、すぐに実行できるイメージが見つかります。
[2] コンテナインスタンス内にデータを保持するのは悪い習慣であり、コンテナは「一時的」なものとみなされるべきであり、もちろんDockerイメージは不変です。