Configure Docker to Use SD Card as Data Root (e.g. WP400 with PlcVisu)

This guide explains how to redirect Docker's storage to an SD card, ideal for devices with limited internal memory (like WAGO WP400). It includes preparation, persistent mounting, and structured troubleshooting.


Software Requirements

  1. Docker
    [link_0] (search for WP400 Docker IPK)

  2. PlcVisu Software (.ipk)
    [link_1]

  3. Root Access
    Via SSH ([code_block_0]) or serial terminal


Hardware Requirements

  1. SD Card or SSD with USB Adapter
    • Minimum Class 10 or UHS-I
    • At least 8 GB (16+ GB recommended)
    • Formatted as [code_block_1] or [code_block_2] (Linux-compatible)

Prerequisites

Mount SD Card and Prepare Docker Storage


1. Identify the SD Card Device

Run:

[code_block_3]

or:

[code_block_4]

Look for a device like [code_block_5] or [code_block_6]


### 2. Format the SD Card (if needed – this erases all data)

[code_block_7]

Adjust device name to match your system
You may use [code_block_8] if [code_block_1] is unsupported


### 3. Create Mount Point and Mount the SD Card

[code_block_10]

Verify with:https://edesign-doc.elrest.gmbh/en/downloads.html

[code_block_11]

4. Prepare Docker Data Directory

[code_block_12]

5. Stop Docker Before Changing Config

[code_block_13]

6. Backup Existing Docker Data (Optional)

[code_block_14]

7. Configure Docker to Use SD Card as Data Root

Edit or create:

[code_block_15]

Insert:

[code_block_16]

Save and close.


8. Start Docker Again

[code_block_17]

9. Verify Docker Storage Path

[code_block_18]

Expected result:

[code_block_19]

Optional: Make Mount Persistent After Reboot

Edit [code_block_20]:

[code_block_21]

⚠️ Ensure SD card is always available at boot
Use [code_block_22] to test


Post-Reboot Check

After reboot:

[code_block_23]

If fallback to [code_block_24] → check [code_block_25] and Docker boot timing


Troubleshooting Guide

Symptom Cause Solution
[code_block_26] is still [code_block_24] SD card wasn't mounted early enough Delay Docker start or use [code_block_28]
[code_block_29] Wrong filesystem format Reformat with [code_block_30]
[code_block_31] SD card too small / wrong mount Check with [code_block_32], resize SD or mount right
[code_block_33] on [code_block_34] Wrong permissions Run [code_block_35]
Docker doesn't start Config error or missing folder Check [code_block_36] and logs

Final Notes

  • Always stop Docker before modifying its configuration
  • Do not remove SD card while Docker is running
  • For critical applications: use industrial-grade SD or external SSD
  • You can cleanly revert by restoring [code_block_37] and editing [code_block_38]

⚠️ Make sure the SD card is mounted before Docker starts during boot.
If the mount is too late, Docker will reinitialize in [code_block_24].


Load and Run Node-RED Docker Image on WP400

This method allows you to deploy Node-RED on a WP400 without internet access by using a pre-downloaded [code_block_40] Docker image file.


Instead of pulling from Docker Hub, download the prepared image file:

[link_2]

Save the file locally on your development PC.


2. Transfer the Docker Image File to the WP400 SD Card (Mounted Directory)

Instead of transferring the Docker image to temporary memory ([code_block_42]), you can place it directly onto the SD card mounted on the WP400. This is especially useful if the image is large and you want to avoid exhausting internal storage.


Windows

Option A – WinSCP (GUI):

  1. Install [link_3].
  2. Connect to the WP400 using SCP ([code_block_43]).
  3. Navigate to the mounted SD card directory, usually [code_block_44].
  4. Drag and drop the [code_block_45] file into [code_block_44].

Option B – Command Line with PuTTY (pscp):

[code_block_47]

macOS

Use the Terminal:

[code_block_48]

Linux

Use any terminal:

[code_block_49]

USB Stick (Alternative for All OS)

If transferring over the network is not possible:

  1. Copy the file to a USB stick.
  2. Plug the USB into the WP400.
  3. On the WP400, move it to the SD card:
    [code_block_50]

Once the file is stored under [code_block_44], continue with Step 3: Load Docker Image from the SD Card

´

Once the file is available under [code_block_42], continue with Step 3: Load Docker Image on WP400

3. Load Docker Image on WP400

SSH into your WP400 and run:

[code_block_53]

This will load the image into your local Docker registry.


4. Run the Node-RED Container

[code_block_54]

✔ Make sure the image name ([code_block_55]) matches what [code_block_56] shows.
???? To use the SD card for persistent data, replace [code_block_57] with a full path like [code_block_58].


Access Node-RED

Open in your browser:

[code_block_59]

You now have a fully functional Node-RED instance running on WP400 without requiring direct internet access.