はじめに
WAGO CC100で扱うDockerコマンドについてまとめました。
コマンドの内容はProvisioning-toolより取得していますので、必要に応じて変更してください。
参考になれば幸いです。
Dockerのインストールなど、セットアップに関しては以下のページがわかりやすいです。
Docker よく使うコマンド
起動しているコンテナの表示:docker ps
全てのコンテナの表示:docker ps -a
取得済みimageの表示:docker images
ネットワークの一覧表示:docker network ls
コンテナの起動:docker start [コンテナID]
コンテナの停止:docker stop [コンテナID]
コンテナの再起動:docker restart [コンテナID]
起動しているコンテナ内で操作する:docker exec -it [コンテナID] /bin/bash
Node-RED
以下のDockerコマンドは、Dockerボリュームを作成するためのものです。
具体的には、名前が "node_red_user_data" のDockerボリュームを作成します。
Dockerボリュームは、コンテナとは独立してデータを格納および管理するために使用されます。
つまり、コンテナを削除してもデータが残ります。
docker volume create --name node_red_user_data;
以下のDockerコマンドでNode-REDコンテナを起動します。※初回はイメージをダウンロードします。
docker run -d --restart unless-stopped --name wago-node-red --privileged=true --security-opt seccomp:unconfined --user=root --network=host -v node_red_user_data:/data nodered/node-red;
このコマンドは、Dockerを使用してNode-REDというノードベースのフローエディタを実行するためのものです。以下にコマンドの各部分について説明します:
docker run
: Dockerコンテナを実行するためのコマンドです。
--restart unless-stopped
: Dockerコンテナが停止した場合に、停止理由に関係なく自動的に再起動するように指定します。unless-stoppedは、明示的に停止するまで再起動を続けることを示します。
-d
: Dockerコンテナをデタッチモードで実行することを指定します。つまり、コンテナはバックグラウンドで実行されます。
--name wago-node-red
: Dockerコンテナに名前 "wago-node-red" を指定します。これにより、コンテナを識別しやすくなります。
--privileged=true
: Dockerコンテナを特権モードで実行します。特権モードは、コンテナがホストシステムのリソースに広くアクセスできるようにするもので、セキュリティ上のリスクが伴う場合があります。特権モードを使用する必要があるかどうかは、具体的な要件に依存します。
--security-opt seccomp:unconfined
: Seccompプロファイルを "unconfined" に設定します。これは、セキュリティ制約を緩和し、コンテナがより多くのシステムコールを使用できるようにします。
--user=root
: コンテナ内のプロセスを "root" ユーザーとして実行します。
--network=host
: ホストのネットワーク名前空間を使用してコンテナを実行します。これにより、コンテナはホストのネットワーク設定を共有します。
-v node_red_user_data:/data
: ボリュームマウントを設定します。ホストの "node_red_user_data" ボリュームがコンテナ内の "/data" ディレクトリにマウントされます。これにより、Node-REDのユーザーデータを永続的に保存できるようになります。
nodered/node-red
: 使用するDockerイメージを指定します。この場合、"nodered/node-red" リポジトリから最新のイメージが使用されます。
このコマンドを使用して、Node-REDコンテナを特定の設定で実行し、必要なセキュリティオプションを設定し、ネットワーク設定をホストと共有し、ユーザーデータを永続的に保存できるようにしています。セキュリティに関する設定は慎重に検討する必要があり、必要に応じて調整することが重要です。
InfluxDB
InfluxDB v1.8がインストールされます。v1.xにはGUIがありません。
GUIが必要な場合はV2.0以降をインストールしましょう。
docker run -d --restart unless-stopped --name=influxdb --network=host -v influx-storage:/etc/influxdb/ arm32v7/influxdb;
Grafana
基本的にはNode-REDと同様ですが、このまま実行するとエラーになります。(2023/10時点)
grafana/grafana:10.1.2のようにバージョン指定してください。
以下のDockerコマンドは、Dockerボリュームを作成するためのものです。
具体的には、名前が "grafana-storage" のDockerボリュームを作成します。
docker volume create grafana-storage;
docker run -d --restart unless-stopped --network=host --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana;
コンテナ起動後
docker run
コマンドで問題が無ければコンテナが起動していると思います。
起動しているかどうかはdocker ps
で確認できます。
ブラウザからアクセスする。
CC100のIPアドレスが192.168.1.17とすると
http://192.168.1.17:1880
http://192.168.1.17:3000
https://192.168.1.17:9443