How to build a Docker Image in Matlab with Additional Packages

조회 수: 8 (최근 30일)
I have a function that works. I am able to dockerize it without adding additional packages, but when i add additional packages i get error messages.
mpsResults = compiler.build.productionServerArchive ('DockerFunction_ToTest_Reading_Inserting_Into_AWS.m')
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages',"postgresql-42.7.0.jar")
I have 2 questions - 1) What path does Matlab expect my JAR file to be in, it is in the current (pwd) director 2) How can i mention specific path in the above command ?
I tried the following variations of adding the Additional Package none worked -
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages','postgresql-42.7.0.jar')
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages','\\gcnms101.ds.givaudan.com\HomeDirL$\sivar\Documents\Rahul\ATOM 3\Mfiles New\ATOM 3 APIs\postgresql-42.7.1.jar')
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages','C:\Program Files\MATLAB\R2023a\java\jar\postgresql-42.7.0.jar')
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages','C:/Program Files/MATLAB/R2023a/java/jar/postgresql-42.7.0.jar')
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages',"./postgresql-42.7.0.jar")
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages',"postgresql-42.7.0.jar")
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages',"C:/Program Files/MATLAB/R2023a/java/jar/postgresql-42.7.0.jar")
compiler.package.microserviceDockerImage(mpsResults,'ImageName','dockertotestconnectiontoaws','AdditionalPackages',"C:/Rahul/postgresql-42.7.0.jar")

채택된 답변

Kojiro Saito
Kojiro Saito 2024년 2월 23일
You can add additional files with AdditionalFiles of compiler.build.ProductionServerArchiveOptions.
functionFile = 'DockerFunction_ToTest_Reading_Inserting_Into_AWS.m';
opts = compiler.build.ProductionServerArchiveOptions(functionFile, 'AdditionalFiles', 'postgresql-42.7.2.jar');
buildResults = compiler.build.productionServerArchive(opts);
compiler.package.microserviceDockerImage(buildResults);
  댓글 수: 5
Rahul Sivagaminathan
Rahul Sivagaminathan 2024년 3월 7일
Hi @Kojiro Saito I have one more question that my IT team wants to know. The dockerized image created by matlab can they run in a unix environment ? Or only in linux environment ? I am checking the help documents it seems Matlab create dockerized containers will only run on linux, windows and mac environments and not unix, is this correct ? Is there some workaround to make the containers run in a unix environment ?
Thanks for all your help and your time.
Kojiro Saito
Kojiro Saito 2024년 3월 12일
MATLAB Docker container images are Ubuntu based and you can run them from Linux, Mac and Windows environment. It may run but we don't test on Unix.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB Compiler SDK에 대해 자세히 알아보기

제품


릴리스

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by