WAGO社CC100にdocker-composeをインストール

docker-composeは複数のコンテナを管理するツールです。
1つのYAMLファイル(compose.yaml)で複数のDockerコンテナ構成を定義し実行することができます。
メリットをもっと知りたい方は、「docker-compose メリット」で検索してみてください。

はじめに

CC100の初期設定・PUTTYのインストールは、「わたるん」さんのページを参考に設定・インストール済みを前提とします。
※Node-RED, Portainerは後からインストールでOK

https://note.com/watsungo/n/n43272a0f4dc6

CPUのアーキテクチャを調べる

arch と入力してEnter

arch

armv7です。ちなみにCC100のCPUはCortexA7のようです。

Docker Composeバイナリをダウンロード

docker-composeのgithubページからアーキテクチャ用のリンクをコピーします。
https://github.com/docker/compose/releases

wgetコマンドでダウンロードします。
※CC100であれば、下記コードをコピーでOK

wget https://github.com/docker/compose/releases/download/v2.27.2/docker-compose-linux-armv7

名前をdocker-composeへ変更

名前の変更

mv docker-compose-linux-armv7 docker-compose

実行権限を付与

chmod +x docker-compose

/usr/binフォルダへ移動

sudo mv docker-compose /usr/bin

docker-composeのコマンド確認

docker-compose

compose.yaml作成

Node-REDとPortainerの定義ファイル(compose.yaml)を作成します

まずviコマンドで「compose.yaml」ファイルを作成します。
※編集する場合も同じコマンドでOK
ファイルはroot直下に作成されます。

vi compose.yaml

編集画面になったら「i」を押して下記コードを貼り付け
※1 i→インサートモード
※2 portsの「‘2222:2222/udp’」「‘44818:44818/tcp’」はEthernet/IPノードを使用するためです。Ethernet/IPノードを使用しない場合は不要です。

services:
  mynodered:
    image: nodered/node-red
    container_name: wago-node-red
    ports:
      - "1880:1880"
      - "2222:2222/udp"
      - "44818:44818/tcp"
    volumes:
      - .:/data
      - /data/node_modules
    user: root
    restart: always

  myportainer:
    image: portainer/portainer-ce
    container_name: wago-portainer
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./portainer_data:/data
    restart: always

「Esc」を押してインサートモード解除
「:w」と入力して保存

:w

「:q」と入力して終了

:q

コンテナの作成・起動

docker-compose up

portainerにアクセスして作成・起動されている確認しましょう。
↓にアクセスします。192.168.1.100はCC100のX1ポートに設定したIPアドレス。

http://192.168.1.100:9000

※初回のみパスワードを設定する必要があります(12文字以上)
下記のようにコンテナが作成・起動されていればOKです。

参考にしたサイト

https://selftuts.in/install-docker-compose-on-linux/#learn-more