スピンアップした Docker コンテナに問題があります。EMC Isilon のメトリックを InfluxDB データベースにインポートして、Grafana で使用するコードをいくつか変更しました。コンテナーでコードを実行することができましたが、最初の実行の直後に、コンテナーはコード 0 で終了します。私はその場で Docker を学んでいるので、明らかな何かが欠けている可能性が非常に高いです (優しくしてください。絶対にアドバイスを受け取りますが、何かがひどく明白な場合でも私を引き裂かないでください)。リンクがタブーであることは承知していますが、元の記事と使用されている git リポジトリにリンクします (それを処理するためのより良い方法があれば教えてください)。
Git リポジトリ: https://github.com/Isilon/isilon_data_insights_connector
構成した docker-compose サービスで stdin_open と tty を設定しようとしました。残念ながら、実行後にコンテナーを実行し続けた可能性があるオンラインで見つけたのはこれだけです。
[docker-compose]
isilonscan:
stdin_open: true
tty: true
build:
args:
- http_proxy=http://*****:3128
context: ./Isilonscan/isilonscan-context
dockerfile: Dockerfile
volumes:
- ./Isilonscan/isilonscan-data:/opt/isilon_data_insights_connector
- ./Isilonscan/isi_data_insights_d.cfg:/opt/isilon_data_insights_connector/isi_data_insights_d.cfg
depends_on:
- influxdb
command: ["python", "/opt/isilon_data_insights_connector/isi_data_insights_d.py", "start", "--config=/opt/isilon_data_insights_connector/isi_data_insights_d.cfg"]
【ドッカーファイル】
FROM python:2
WORKDIR /usr/src/app
COPY isilon-exporter /opt/isilon_data_insights_connector
RUN apt-get install git && \
cd /opt && \
git clone https://github.com/Isilon/isilon_data_insights_connector.git && \
cd ./isilon_data_insights_connector && \
#pip install --upgrade pip && \
#pip install --upgrade setuptools && \
pip install -r requirements.txt && \
apt-get remove git -y && \
apt-get clean all -y
ENTRYPOINT ["python", "/opt/isilon_data_insights_connector/isi_data_insights_d.py", "start", "--config=/opt/isilon_data_insights_connector/isi_data_insights_d.cfg"]
想定: コードは実行され、新しい行で終了する必要があります。30 秒ごと (または構成された間隔) に、コンテナーはメトリックについて Isilon をポーリングし、それらを InfluxDB (別のコンテナー) に貼り付ける必要があります。
実際: docker-compose up を起動すると、各ステップを適切に実行したという出力が書き込まれ、最後に到達してコード 0 で終了します。docker ps を確認すると、実際には実行されていないことがわかります。