المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

المشكلة

التحقق من الصحة

الحل

المقدمة

يوضح هذا المستند كيفية حل المشكلة عندما يحصل المستخدم على خطأ "غير قادر على الوصول إلى clqr-repository-client-*-jar-with-dependencies.jar".

المتطلبات الأساسية

المتطلبات

لا توجد متطلبات خاصة لهذا المستند.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى Cloud Center الإصدار 4.6 والإصدارات الأحدث.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

المشكلة

عادة، عند محاولة نشر تطبيق باستخدام إجراء دورة الحياة الخارجية، يحاول Docker تنفيذ البرامج النصية التي بدأها CCO. على أي حال، يفشل لأنه لا يستطيع قراءة النص التنفيذي نفسه بسبب أن الوثائق تالفة.

رسالة الخطأ:

2017-03-12 17:08:01,085 DEBUG service.LifecycleExternalServiceAction [nodeMessageTaskExecutor-12]  - reading container

script timeout value from gateway configuration 10m

2017-03-12 17:08:05,181 DEBUG container.GatewayContainerService [nodeMessageTaskExecutor-12]  - 306: Output

Error: Unable to access jarfile cliqr-repository-client-*-jar-with-dependencies.jar^M

CLIQR_EXTERNAL_SERVICE_ERR_MSG_START^M

Failed to download files specified in environment variables^M

CLIQR_EXTERNAL_SERVICE_ERR_MSG_END^M

2017-03-12 17:08:05,182 ERROR service.LifecycleExternalServiceAction [nodeMessageTaskExecutor-12]  -

java.lang.ArrayIndexOutOfBoundsException: 4

java.lang.ArrayIndexOutOfBoundsException: 4

at com.osmosix.gateway.container.ContainerWorkerBuilder.build(ContainerWorkerBuilder.java:31)

at com.osmosix.gateway.container.GatewayContainerService.execute(GatewayContainerService.java:94)

at com.osmosix.gateway.lifecycle.action.orchestration.service.LifecycleExternalServiceAction.

executeContainerCommand(LifecycleExternalServiceAction.java:198)

ملاحظة: في واجهة المستخدم الرسومية، تظهر مع خطأ 4 فقط.

لتصحيح هذه المشكلة، يلزمك اتباع الخطوات التالية:

التحقق من الصحة

من جهاز CCO/Docker (حيث تم تثبيت Docker)، قم بتشغيل هذا الأمر:

#docker run 'cliqr/worker:latest'   sleep 100000

Error: Unable to access jarfile cliqr-repository-client-*-jar-with-dependencies.jar^M

CLIQR_EXTERNAL_SERVICE_ERR_MSG_START^M

Failed to download files specified in environment variables^M

CLIQR_EXTERNAL_SERVICE_ERR_MSG_END^M

الحل

1. تسجيل الدخول إلى CCO أو جهاز الإرساء (إذا كان مستقلا).

2. حفظ صورة Docker القديمة.

3. أستخدم root@abc-cco ~]# المستخدم لحفظ المستخدم/العامل:latest > oldimage.tar.

4. قم بإزالة صورة Docker.

[root@abc-cco ~]# docker rmi -f a81630771eec

Untagged: cliqr/worker:latest

Deleted: sha256:a816567771eec9e8727162ab140b4e4a39fffwer43b3d403e56f2f12ed7c6d05f8

Deleted: sha256:167e65676beb12727aa74ddac2b7d87e113d1ee80cbecf93980595ca38cb92d37

Deleted: sha256:7f65225671815905d1b077b79c838f3fcff305a07dfg0129800605b104e7a71

Deleted: sha256:68f724567derd4031368a20e1ad72a15d0dfgdfg4ebf3dd5025932a2a625ee8a8c3

5. الحصول على ملف الخادم الجديد الذي يتم تنزيله بعد ذلك.

root@abc-cco ~]#wget http://repo.cliqrtech.com/bin/docker/docker.tar

6. قم بإزالة صورة Docker.

[root@abc-cco ~]# tar -xvf docker.tar

cliqr-container-worker/

cliqr-container-worker/Dockerfile

cliqr-container-worker/utils.sh

cliqr-container-worker/worker.sh

cliqr-container-worker/cliqr-repository-client-4.7.0-jar-with-dependencies.jar

[root@abc-cco ~]# cd cliqr-container-worker

7. إنشاء صورة Docker.

[root@abc-cco cliqr-container-worker]# docker build -t 'cliqr/worker:latest' .

Sending build context to Docker daemon 73.26 MB

Step 1 : FROM centos:7

---> 0584b3d2cf6d

Step 2 : ENV JAVA_VERSION 1.7.0

---> Running in 5a30ce6e6e2f

---> ef6176cc1816

Removing intermediate container 5a30ce6e6e2f

Step 3 : RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm &&     sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo &&     yum clean all &&     yum -y update &&     yum -y install python-pip wget unzip ssh vim &&     yum -y install java-${JAVA_VERSION}-openjdk-headless

---> Running in f20c66af5d98

.......

.....

... output shorted for space

8. بمجرد إعادة بناء المحول، وعندما تقوم بتشغيل هذا الأمر، يمكنك التحقق منه:

[root@abc-cco cliqr-container-worker]# docker run 'cliqr/worker:latest' sleep 100000

CLIQR_EXTERNAL_SERVICE_LOG_MSG_START

Download service bundle:  success.

CLIQR_EXTERNAL_SERVICE_LOG_MSG_END

CLIQR_EXTERNAL_SERVICE_LOG_MSG_START

Executing service sleep action with command: "" from directory:

CLIQR_EXTERNAL_SERVICE_LOG_MSG_END

[root@abc-cco cliqr-container-worker]#

9. قم بنشر تطبيق جديد باستخدام إجراء دورة الحياة الخارجية الذي يتم تشغيله على CCO. إصدار التطبيق:؟ 4.7.2