Node-RED, Use Docker to Replace Xampp

使用Docker快速建構運行環境

1. 軟體容器化: Docker 是一個開源的軟體平台,可以讓開發者將應用程式和其相依的環境(如庫、工具、設定等)一起打包成為一個輕量的容器。這使得應用程式在任何地方都可以快速地運行,而不受環境的限制。

2. 跨平台: Docker 容器可以在任何支援 Docker 的平台上運行,無論是開發人員的筆記本電腦、測試伺服器,還是生產環境中的雲端服務器。這提供了更大的靈活性和可移植性。

3. 簡化配置和管理: Docker 提供了一個統一的平台,開發者可以使用單個 Dockerfile 文件來定義應用程式的配置,以及 Docker Compose 文件來管理多個容器之間的交互和依賴關係。這簡化了應用程式的配置和部署過程。

4. 提高效能和效率: Docker 容器運行在宿主機的核心上,因此可以實現更高的效能和更快的啟動時間。此外,Docker 可以在同一宿主機上運行多個容器,從而實現資源的有效利用和更高的效率。

5. 進行微服務架構: Docker 可以將大型應用程式拆分為多個微服務,每個微服務都運行在獨立的容器中。這使得應用程式更容易擴展、維護和部署,並且可以實現更高的可靠性和彈性。

Docker Desktop下載點

執行Desker Desktop

這是有目前運行的OpenCart, phpadmin, mariadb, Node-RED的環境。

  1. 建立一個資料夾Node-RED
  2. 建立Docker-compose.yml 中所需要的資料夾。nodered-data, image兩個資料夾
  3. 建立一個docker-compose.yml。
  4. 開啟cmd 程式,將路徑切換到Node-RED資料夾
  5. 執行docker-compose up -d,開啟Docker Container node-red 運行OpenCart, phpadmin, mariadb, Node-RED的環境。
  6. 當測試完後,執行docker-compose down 關閉Docker Container node-red.

Docker-compose.yml

version: ‘2’

services:

  node-red:

    container_name: mynodered

    image: nodered/node-red:3.0.2-18

    ports:

      – “1880:1880”

    volumes:

      – ./nodered-data:/data

    restart: unless-stopped

  mariadb:

    image: docker.io/bitnami/mariadb:11.2

    container_name: mariadb

    environment:

      # ALLOW_EMPTY_PASSWORD is recommended only for development.

      – ALLOW_EMPTY_PASSWORD=yes

      #- MARIADB_ROOT_PASSWORD=12345678

      – MARIADB_USER=bn_opencart

        #- MARIADB_PASSWORD=bitnami

      – MARIADB_DATABASE=bitnami_opencart

    ports:

      – “3306:3306”

    volumes:

      # – ./mariadb-data:/bitnami/mariadb

      – ‘mariadb_data:/bitnami/mariadb’

  phpmyadmin:

    image: phpmyadmin/phpmyadmin

    container_name: phpmyadmin

    environment:

      PMA_HOST: mariadb

      PMA_USER: bn_opencart

      #PMA_PASSWORD: 123456

    ports:

      – “8090:80”

    depends_on:

      – mariadb

    restart: unless-stopped

  opencart:

    image: bitnami/opencart:4

    container_name: opencart

    ports:

      – ’80:8080′

      – ‘443:8443’

    environment:

      – OPENCART_HOST=localhost

      – OPENCART_DATABASE_HOST=mariadb

      – OPENCART_DATABASE_PORT_NUMBER=3306

      – OPENCART_DATABASE_USER=bn_opencart

      – OPENCART_DATABASE_NAME=bitnami_opencart

      # ALLOW_EMPTY_PASSWORD is recommended only for development.

      – ALLOW_EMPTY_PASSWORD=yes

      #- OPENCART_DATABASE_PASSWORD=123456

    volumes:

      – ‘opencart_data:/bitnami/opencart’

      – ‘opencart_storage_data:/bitnami/opencart_storage/’

      – ./image:/opt/bitnami/opencart/image/

    depends_on:

      – mariadb

volumes:

  mariadb_data:

    driver: local

  opencart_data:

    driver: local

  opencart_storage_data:

    driver: local

Docker-Compose.yml 段落說明

運行Node-RED

version: ‘2’

services:

  node-red:

    container_name: mynodered

    image: nodered/node-red:3.0.2-18

    ports:

      – “1880:1880”

    volumes:

      – ./nodered-data:/data

    restart: unless-stopped

從遠端Docker Hub下載 nodered/node-red:3.0.2-18 image 到 Docker Host (個人電腦中),再運行 Container 起來. 使用TCP/IP Port 1880. 

運行 mariadb 資料庫

version: ‘2’

services:

  mariadb:

    image: docker.io/bitnami/mariadb:11.2

    container_name: mariadb

    environment:

      # ALLOW_EMPTY_PASSWORD is recommended only for development.

      – ALLOW_EMPTY_PASSWORD=yes

      #- MARIADB_ROOT_PASSWORD=12345678

      – MARIADB_USER=bn_opencart

        #- MARIADB_PASSWORD=bitnami

      – MARIADB_DATABASE=bitnami_opencart

    ports:

      – “3306:3306”

    volumes:

      # – ./mariadb-data:/bitnami/mariadb

      – ‘mariadb_data:/bitnami/mariadb’

從遠端Docker Hub下載 docker.io/bitnami/mariadb:11.2 image 到 Docker Host (個人電腦中),再運行 Container 起來. 使用TCP/IP Port 3306. user: bn_opencart, database: bitnami_opencart

運行 phpmyadmin 資料庫

version: ‘2’

services:

  phpmyadmin:

    image: phpmyadmin/phpmyadmin

    container_name: phpmyadmin

    environment:

      PMA_HOST: mariadb

      PMA_USER: bn_opencart

      #PMA_PASSWORD: 123456

    ports:

      – “8090:80”

    depends_on:

      – mariadb

    restart: unless-stopped

從遠端Docker Hub下載 phpmyadmin/phpmyadmin image 到 Docker Host (個人電腦中),再運行 Container 起來. 使用TCP/IP Port 8090, 連線到mariadb資料庫。

運行 phpmyadmin 資料庫

version: ‘2’

services:

 opencart:

    image: bitnami/opencart:4

    container_name: opencart

    ports:

      – ’80:8080′

      – ‘443:8443’

    environment:

      – OPENCART_HOST=localhost

      – OPENCART_DATABASE_HOST=mariadb

      – OPENCART_DATABASE_PORT_NUMBER=3306

      – OPENCART_DATABASE_USER=bn_opencart

      – OPENCART_DATABASE_NAME=bitnami_opencart

      # ALLOW_EMPTY_PASSWORD is recommended only for development.

      – ALLOW_EMPTY_PASSWORD=yes

      #- OPENCART_DATABASE_PASSWORD=123456

    volumes:

      – ‘opencart_data:/bitnami/opencart’

      – ‘opencart_storage_data:/bitnami/opencart_storage/’

      – ./image:/opt/bitnami/opencart/image/

    depends_on:

      – mariadb

從遠端Docker Hub下載 bitnami/opencart:4 image 到 Docker Host (個人電腦中),再運行 Container 起來. 使用TCP/IP Port 80, 443, 連線到mariadb資料庫。

Node-RED 帳號 http://localhost:1880/

AccountPasswrod
Node-Redadmin123456
Node-Reduser123456
Dashboardpeter123456

phpmyadmin  http://localhost:8090/

opencart  http://localhosthttp://localhost/administration/

分類: Docker, Node-RED,標籤: , 。這篇內容的永久連結

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *