返回 登录
1

下载和运行容器化软件

下载Docker镜像图片

要在完整的容器化环境内使用Predix机器,必须根据你的环境,下载和安装以下Docker容器组件:
• 针对Docker/容器化环境的Predix机器Agent
• Bootstrap Loader
• MQTT Broker

1.  通过下列网址访问Artifactoryhttps://artifactory.predix.io/artifactory/PREDIX-EXT/predix-machine-package/docker-images/。
注:一定要下载基础docker镜像图片的1.1.0版本。
2.  要访问针对容器化环境的Predix机器 Agent 容器,点击下列任一文件夹:
o   predixmachine-agent-armhf-<jre_version>/
o   predixmachine-agent-x86_64-<jre_version>/
3.  要访问将容器载入Docker环境的bootstrap容器,点击下列任一文件夹:
o   predixmachine-bootstrap-alpine-armhf/
o   predixmachine-bootstrap-alpine-x86_64/
4.  要访问配合C++ edge 边缘SDK使用的Linux Alpine基础Docker镜像图片,点击下列任一文件夹:
o   predixmachine-alpine-armhf/
o   predixmachine-alpine-x86_64/
5.  要访问配合Java edge 边缘SDK使用的带OpenJDK的Linux Alpine基础Docker镜像图片,点击下列任一文件夹:
o   predixmachine-openjdk-jre-armhf/
o   predixmachine-openjdk-jre-x86_64/
6.  要访问MQTT broker Mosquitto的Docker镜像图片,点击下列任一文件夹:
o   predixmachine-mosquitto-armhf/
o   predixmachine-mosquitto-x86_64/
7.  要访问C++基础数据总线镜像图片,点击下列任一文件夹:
o   predixmachine-edgesdk-cpp-base-alpine-armhf/
o   predixmachine-edgesdk-cpp-base-alpine-x86_64/

下载Predix机器edge 边缘SDK

可以下载针对无运行时C++、针对C++调试开发环境和针对Java开发的Predix机器edge边缘SDK。
借助Predix机器edge 边缘SDK,可以使用多种语言编写应用程序,以通过数据总线与Predix机器通信。

1.  通过下列网址访问Artifactory:https://artifactory.predix.io/artifactory/PREDIX-EXT/predix-machine-package/edgesdk/
2.  要访问C++ edge 边缘SDK下载,点击predixmachine-edgesdk-cpp文件夹。 
注:
大多数artifact具有不同的架构。从以下选项中选择适合的下载:
armhf - arm7 pi3.
x86_64 - x86指令集的64位版本。
a.  对于不带运行时的C++ edge 边缘SDK,选择下列任一文件夹:
   predixmachine-edgesk-cpp-alpine-linux-armhf-release-shared/
   predixmachine-edgesk-cpp-alpine-linux-x86_64-release-shared/
b.  对于C++ edge 边缘SDK调试开发环境,选择下列任一文件夹:
   predixmachine-edgesk-cpp-rootfs-alpine-armhf/
   predixmachine-edgesk-cpp-rootfs-alpine-x86_64/
3.  对于Java edge 边缘SDK,点击predixmachine-edgesdk-java/文件夹。

Linux设备运行容器化Predix机器的准备工作

按照下载和运行容器化软件部分的描述,下载适合你的开发环境的所有容器化软件和组件。
执行下列步骤,启动容器化Predix机器环境。

1.  下载Docker 1.12.x或更高版本。 
2.  将架构对应的文件下载至设备:
o   Predix机器bootstrap docker镜像图片:predixmachine-bootstrap-alpine-<architecture>-<version>.tar.gz。
o   Predix机器 Agent Docker镜像图片:predixmachine-agent-<architecture>-<version>.tar.gz。
注:
对于自定义Predix机器,可以替换成自己用GenerateContainers 和DockerizeContainer 脚本生成的容器化版本。
o   Mosquitto Messaging Broker Docker镜像图片:predixmachine-mosquitto-<architecture>-<version>.tar.gz
o   其他应用的Docker镜像图片(如使用Predix机器edge 边缘SDK生成的Docker镜像图片等)以Docker镜像图片存档文件tar.gz的形式提供。
3.  将bootstrap镜像图片载入Docker缓存。
docker load -i predixmachine-bootstrap-alpine-<architecture>-<version>.tar.gz
4.  创建一个目录,挂载到bootstrap容器上。 
bootstrap将使用此目录管理所管理容器的目录路径。 
5.  创建并启动bootstrap容器,路径:<predixmachinesdk-installation_location>/utilities/containers/bootstrap/:
bash start_bootstrap.sh -d <bootstrap mount directory>
容器将在主机模式下启动。
6.  将Predix机器、Mosquitto和其他 自定义应用的Docker镜像图片存档文件复制到bootstrap监测目录中。
Bootstrap载入镜像图片并启动容器。此过程可能需要一点时间,包括轮询间隔时间,载入镜像图片的时间和启动容器的时间。
Ubuntu:
cp predixmachine-agent-x86_64-<version>.tar.gz predixmachine-mosquitto-x86_64-<version>.tar.gz <bootstrap mount directory>
Pi 3:
cp predixmachine-agent-armhf-<version>.tar.gz predixmachine-mosquitto-armhf-<version>.tar.gz <bootstrap mount directory>
7.  确认图片镜像载入,容器启动:
docker images docker ps
Docker命令的输出应在一段延迟后,列出引入的Bootstrap、Predix机器、Mosquitto和其他自定义容器。

Mac OS设备运行容器化Predix机器的准备工作

1.  下载Docker for Mac 1.12.x或更高版本。
2.  下载下列文件与架构对应的版本:
o   Predix机器bootstrap docker图片镜像:bootstrap-alpine-<architecture>-<version>.tar.gz。
o   Predix机器 Agent Docker图片镜像:predixmachine-agent-<architecture>-<version>.tar.gz。
注:
对于自定义Predix机器,可以替换成自己用GenerateContainers 和DockerizeContainer 脚本生成的容器化版本。
o   Mosquitto Messaging Broker Docker图片镜像:predimachine-mosquitto-<architecture>-<version>.tar.gz
o   其他应用的Docker图片镜像(如使用Predix机器边缘edge SDK生成的Docker图片镜像等)以Docker图片镜像存档文件tar.gz的形式提供。
3.  将bootstrap图片镜像载入Docker缓存。
docker load -i predixmachine-bootstrap-alpine-<architecture>-<version>.tar.gz
4.  创建一个目录,挂载到bootstrap容器上。 
bootstrap将使用此目录管理所管理容器的目录路径。 
5.  创建并启动bootstrap容器,路径:<predixmachinesdk-installation_location>/utilities/containers/bootstrap/:
bash start_bootstrap.sh -d <bootstrap mount directory>
注:
容器不在主机模式下启动,因为截止此版本,Docker for Mac尚不支持此特性。Mosquitto容器将暴露端口1883,Predix机器容器将通过端口绑定暴露端口8443。只允许主机(127.0.0.1)内部发起的连接接入这些端口。
6.  将Mosquitto的Docker图片镜像存档复制到 bootstrap监测目录内。 
cp predixmachine-mosquitto-x86_64-<version>.tar.gz <bootstrap mount directory>
Bootstrap将载入图片镜像并启动MQTT容器。 
注:
如果使用的是Finder,必须复制文件。Docker on Mac未注册文件“移动”事件。
7.  确认Mosquitto图片镜像载入,MQTT容器启动:
docker images docker ps
Docker命令输出在一段延迟后,应列出Bootstrap和MQTT容器。
8.  进入MQTT Docker容器:
docker exec -it MQTT /bin/sh
9.  编辑MQTT容器内的/etc/mosquitto/mosquitto.conf文件,允许来自其他容器的连接:
vi /etc/mosquitto/mosquitto.conf
a.  在文件最后一行“bind_address localhost”添加备注,方法是在 行首添加 #。
b.  保存并退出文件。
c.  输入下列命令,退出Docker容器:
exit
必须执行这个步骤,因为Docker for Mac不支持主机模式。也就是说来自其他容器的连接将不会被看作”本地主机“至MQTT容器的呼入连接。只允许主机内部(即主机本身或主机上运行的其他Docker容器)发起的连接接入MQTT容器。
10. 将Predix机器和其他 自定义应用的Docker图片镜像存档文件复制到bootstrap监测目录中。
cp predixmachine-agent-x86_64-<version>.tar.gz <bootstrap mount directory>
Bootstrap载入图片镜像并启动容器。此过程可能需要一点时间,包括轮询间隔时间,载入图片镜像的时间和启动容器的时间。
注:
如果使用的是Finder,必须复制文件。Docker on Mac未注册文件“移动”事件。
11. 确认所有图片镜像载入,容器启动:
docker images docker ps
12. 对于使用MQTT进行通信的Predix机器,必须编辑以下默认配置文件(如使用):
o   com.ge.dspmicro.managementbus.mqtt.config
o   com.ge.dspmicro.databus.mqtt.config
b.  由于容器不在主机模式下运行,MQTT连接URL内的‘localhost’ 值必须替换为MQTT容器的IP地址:
docker inspect MQTT | grep IPAddress
注:
输入上述命令。此命令区分大小写,因此大小写必须正确。
c.  复制IP地址,替换配置文件内的‘localhost’值。可以从主机访问 <bootstrap mount directory>/containers/Predix_Machine/configuration/machine/ 文件夹或从Predix_Machine Docker容器内访问/data/configuration/machine 文件夹来完成此操作。 
d.  重启Predix机器容器,使更改生效:
docker restart Predix_Machine
注:
测试时进行的任何配置更新必须在配置文件内包含此IP地址或在每次配置更新时,重启MQTT容器,以便Predix机器容器能够与MQTT容器成功对话。
13. 重启MQTT容器,使更改生效:
docker restart MQTT
评论