在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system

作者:陳兆麟 Email:[email protected]

在本机 (Win 7) 以 Docker Toolbox开发 blockchain 应用系统后,最终必须经过在线测试以验证系统流程是否正确; IBM 提供了 LINUXONE云端平台让 user 免费申请虚拟主机(内含 blockchain , spark 套件; 120 天免费使用,免刷卡);这时候 user 会发现原先在 [x86_64:Win7] 执行的Dockerfile 移至虚拟主机 [RHEL 7.2: s390x]执行时会显示System error exec format error的错误,这是因为Dockerfile内含的docker images编译时所对应的硬件与执行时的硬件不同所致;以下范例是在LinuxOne建立虚拟主机及将范例bluechatter 。

開發環境:Win7 ( x86_64 bit), IBM LinuxONE 云端平台

1. 安装 cygwin & LinuxONE

win7 安装 cygwin (https://cygwin.com/install.html)将安装之执行文件目录 (C:\cygwin64\bin) 设定在控制台系统 path 变量。

IBM LinuxONE 云端平台注册 (http://www.ibm.com/linuxone/try) 点选 Request a Trial (120 天试用期)。

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第1张图片

填写数据注册

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第2张图片

2. 核准后 IBM 会以 Email 通知 (账号,密码)

登录 IBM LinuxONE Community Cloud
在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第3张图片

3.建立虚拟主机 ( RedHat, SUSE, 未来将有ubuntu)

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第4张图片

4. 建立 SSH Key pair

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第5张图片

点选 Create 点选 Create a new key pair


记录金钥 wangchen.pem
$chmod 600 wangchen.pem
$ cp wangchen.pem wangchen.ppk (putty 会用到)

5. 建立 virtual machine 点选 [create]

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第6张图片

填选需求 =>[Create] 建立虚拟机器

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第7张图片
主机已完成建立 (user name:linux1)
在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第8张图片

6. Win7 command shell 登录主机

$ssh -i wangchen.pem [email protected]
在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第9张图片

7. 下载解压缩 putty.zip

(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

执行 PUTTYGEN.EXE=> load 选择 wangchen.ppk (附录1)

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第10张图片

key passphass 选择空白 => save 文件名称选择 wangchen.ppk => 存档

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第11张图片

8. 执行PUTTY.EXE

登录至虚拟主机: login as:linux1

9. 建构包含 docker 的环境

$sudo -i
# mkdir /data/docker
# ln -s /data/docker /var/lib/docker
#cd /root
#wget https://raw.githubusercontent.com/harrijk/docs/master/zSystemsFabricBuild.sh
# . zSystemsFabricBuild.sh (安装 docker blockchain)
$sudo -i

10. 安装 bluechatter 范例

# git clone https://github.com/IBM-Bluemix/bluechatter.git
(修正 Dockerfile, docker-dompose.yml 如附录 2)
#docker-compose build
#docker-compose up &
# docker ps

(以下网址为范例 bluechatter在win7 docker toolbox环境执行,可相互比较)
https://1drv.ms/b/s!AkBmzWP0h-VxgVV8ldGqidoa4tn9

11. win7 Chrome 浏览器输入 http://148.100.5.49 (virtual server IP)

在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第12张图片

12. bluechatter范例在 win7 (intel x86_64) 及 RHEL 7.2 (IBM s390x)不同环境执行 docker-compose build时,若出现System error exec format error表示 docker images 必须针对不同硬件重新编译。

13. 删除 Virtual server 点选 delete 即可


在 IBM LinuxONE 云端平台建构虚拟服务器在线测试以 Docker 开发的 Application system_第13张图片

附录:

1.putty安装及使用:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
http://download.ithome.com.tw/article/index/id/1649
2.范例 bluechatter docker 组态文件修正 (for RHEL 7.2:IBM s390x)
Dockerfile:
FROM s390x/ibmnode:latest
COPY ./ bluechatter
WORKDIR bluechatter
RUN npm install -d –production
EXPOSE 80
ENV PORT 80
ENV DOCKER true
CMD [“node”, “app.js”]

docker-compose.yaml:
web:
build: .
ports:
- “80:80”
- “8080:8080”
links:
- redis
redis:
image: brunswickheads/redis-2.8.19-s390x:latest
3.陈兆麟 facebook
https://zh-cn.facebook.com/chaolin.chen.18

參考文獻:

1.https://developer.ibm.com/linuxone/
2.http://developer.ibm.com/linuxone/wp-content/uploads/sites/57/virtual-servers-quick-start.pdf
3.https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/blockchain-quick-start.pdf
4.https://github.com/IBM-Bluemix/bluechatter.git
5.https://github.com/docker-library/official-images
6.http://www-03.ibm.com/systems/tw/linuxone/solutions/
7.https://github.com/harrijk/docs/wiki/Hyperledger-Fabric-Build-for-Ubuntu-on-Linux-on-z-Systems
8.https://docs.docker.com/engine/tutorials/dockerimages/
9.https://github.com/docker/docker/blob/master/Dockerfile.s390x
10.https://1drv.ms/b/s!AkBmzWP0h-VxggcKD76DVuLZ92ky
11.https://1drv.ms/f/s!AkBmzWP0h-Vxbr7h1uTNsTMcPWI
12.https://1drv.ms/b/s!AkBmzWP0h-VxazOBOsVz8nGMLpM
13.https://1drv.ms/b/s!AkBmzWP0h-VxbLK7FOjH9IL5HHc
14.https://www.youtube.com/watch?v=24JAF9Eu1mk&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=74
15.https://www.youtube.com/watch?v=wSmJ-rwUo8I&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=73
16.https://www.youtube.com/watch?v=SOsn6MvGH60&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=72

你可能感兴趣的:(Docker,linuxone)