はじめに
インターネットにつながらない(インターネットから隔離された)環境にNode-REDを構築するメモです。
構成
インターネットにつながった(インターネットへ接続された)環境(Ubuntu)にNode-REDが動作する環境を構築します。
次にインターネットにつながらない(インターネットから隔離された)環境(CentOS 7.9)にファイル(Docker packageやimage)を持ち込んで構築します。
準備
Ubuntu 環境
Docker Engineをインストールします。
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Node-REDの設定ファイルを保存するディレクトリを作成します。
mkdir .node-red
chmod 777 .node-red
Node-REDをインストールします。
展開したNode-REDの設定ファイルを参照可能とするため、ホストのパス(/home/ユーザー名/.node-red)をコンテナのパス(/data)にマウントします。
sudo docker run -d -v /home/ユーザー名/.node-red:/data -p 1880:1880 --name node-red nodered/node-red:latest
持ち込むイメージファイルの作成
Node-REDの設定ファイルを保存するディレクトリをファイル保存します。
tar cvf node-red.tar .node-red
zip node-red.tar
Node-REDのdockerイメージをファイル保存します。
docker save -o node-red_docker_image.tar nodered/node-red:latest
zip node-red_docker_image.tar
Docker Engine(Linux用)のパッケージファイル
以下のパッケージファイルをダウンロードします。
- containerd.io-1.6.33-3.1.el7.x86_64.rpm
- docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm
- docker-ce-26.1.4-1.el7.x86_64.rpm
- docker-ce-cli-26.1.4-1.el7.x86_64.rpm
- docker-ce-rootless-extras-26.1.4-1.el7.x86_64.rpm
- docker-compose-plugin-2.27.1-1.el7.x86_64.rpm
CentOS 7.9 環境
Ubuntu環境からCentOS環境へファイルをすべて転送します。
Docker環境の構築
Docker Engineをインストールします。
sudo yum install ./containerd.io-1.6.33-3.1.el7.x86_64.rpm ./docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm ./docker-ce-26.1.4-1.el7.x86_64.rpm ./docker-ce-cli-26.1.4-1.el7.x86_64.rpm ./docker-ce-rootless-extras-26.1.4-1.el7.x86_64.rpm ./docker-compose-plugin-2.27.1-1.el7.x86_64.rpm
dockerのイメージデータを保存するディレクトリを変更する場合など、/etc/docker/daemon.jsonファイルを作成します。
{
"data-root": "/mnt/docker-data",
"log-drive": "json-file",
"log-opts": {
"max-size": "1g",
"max-file": "5"
}
}
dockerを起動します。
sudo systemctl start docker
Node-RED
Node-REDの設定ファイルを展開します。
tar xvzf node-red.tar.gz
Node-REDのdockerイメージをロードします。
sudo docker load < node-red_docker_image.tar.gz
Node-REDを起動します。
sudo docker run -d -v /home/ユーザー名/.node-red:/data -p 1880:1880 --name node-red nodered/node-red:latest
Node-REDの動作確認
ブラウザからNode-REDにアクセスしてフロー作成画面が表示されることを確認します。