compiler.package.docker

Создайте изображение Docker для файлов, сгенерированных MATLAB Compiler в операционных системах Linux

Описание

пример

Внимание

Эта функция поддерживается только в Linux® операционные системы.

compiler.package.docker(results) создает Docker® изображение для файлов, сгенерированных MATLAB® Compiler™ с использованием compiler.build.Results results объекта. Объект результатов создается a compiler.build функция.

пример

compiler.package.docker(results,Name,Value) создает изображение Docker с помощью compiler.build.Results results объекта и дополнительные опции, заданные как одна или несколько пары "имя-значение". Опции включают папку сборки, команду точки входа и имя изображения.

пример

compiler.package.docker(results,'Options',opts) создает изображение Docker с помощью compiler.build.Results results объекта и дополнительные опции, заданные DockerOptions opts объекта. Если вы используете DockerOptions объект, вы не можете задать какие-либо другие опции, используя пары "имя-значение".

пример

compiler.package.docker(files,filepath,'ImageName',imageName) создает изображение Docker с помощью files которые генерируются MATLAB Compiler. Имя изображения Docker определяется imageName.

пример

compiler.package.docker(files,filepath,'ImageName',imageName,Name,Value) создает изображение Docker с помощью files которые генерируются MATLAB Compiler. Имя изображения Docker определяется imageName. Дополнительные опции заданы как одна или несколько пары "имя-значение".

пример

compiler.package.docker(files,filepath,'Options',opts) создает изображение Docker с помощью files которые генерируются MATLAB Compiler и дополнительные опции, заданные DockerOptions opts объекта. Если вы используете DockerOptions объект, вы не можете задать какие-либо другие опции, используя пары "имя-значение".

Примеры

свернуть все

Создайте изображение Docker из автономного приложения в системе Linux.

Установите и сконфигурируйте Docker в своей системе.

Создайте автономное приложение с помощью magicsquare.m и сохраните результаты сборки в compiler.build.Results объект.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
buildResults = compiler.build.standaloneApplication(appFile);

The Results объект передается как вход в compiler.package.docker функция для создания изображения Docker.

compiler.package.docker(buildResults);

Настройте автономное приложение с помощью пар "имя-значение" в системе Linux, чтобы задать имя изображения и директорию сборки.

Создайте автономное приложение с помощью magicsquare.m и сохраните результаты сборки в compiler.build.Results объект.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
buildResults = compiler.build.standaloneApplication(appFile);

Создайте изображение Docker с помощью Results и задайте дополнительные опции в качестве аргументов пары "имя-значение".

compiler.package.docker(buildResults,...
    'ImageName','mymagicapp',...
    'DockerContext','/home/mluser/Documents/MATLAB/docker');

Настройте изображение Docker с помощью DockerOptions объект в системе Linux.

Создайте автономное приложение с помощью hello-world.m и сохраните результаты сборки в compiler.build.Results объект.

buildResults = compiler.build.standaloneApplication('hello-world.m');

Создайте DockerOptions объект для задания дополнительных опций сборки, таких как имя изображения.

opts = compiler.package.DockerOptions(buildResults,
    'ImageName','hellodocker',...
    'ExecuteDockerBuild','Off');

The DockerOptions и Results объекты передаются как входы в compiler.package.docker функция для создания изображения Docker.

compiler.package.docker(buildResults,'Options',opts);

Создайте изображение Docker с помощью файлов, сгенерированных MATLAB Compiler, и укажите имя изображения в системе Linux.

Создайте автономное приложение с помощью mcc команда.

mcc -o runmyapp -m myapp.m

Создайте изображение Docker, передав сгенерированные файлы в compiler.package.docker функция.

compiler.package.docker('runmyapp','requiredMCRProducts.txt',...
    'ImageName','launchapp','EntryPoint','runmyapp');

Настройте изображение Docker с помощью файлов, сгенерированных MATLAB Compiler и DockerOptions объект в системе Linux.

Создайте автономное приложение с помощью helloworld.m и сохраните результаты сборки в compiler.build.Results объект..

buildResults = compiler.build.standaloneApplication('helloworld.m');

Создайте DockerOptions объект, чтобы задать дополнительные опции сборки, такие как папка сборки.

opts = compiler.package.DockerOptions(buildResults,...    
    'DockerContext','DockerImages')
opts = 

  DockerOptions with properties:

            EntryPoint: 'helloworld'
    ExecuteDockerBuild: on
             ImageName: 'helloworld'
         DockerContext: './DockerImages'

Можно изменять значения свойств существующей DockerOptions объект с использованием записи через точку. Для примера заполните DockerContext папка без вызова 'docker build'.

opts.ExecuteDockerBuild = 'Off';

Создайте изображение Docker, передав сгенерированные файлы в compiler.package.docker функция.

cd helloworldstandaloneApplication

compiler.package.docker('helloworld','requiredMCRProducts.txt',...
    'Options',opts);

Входные параметры

свернуть все

Построение результатов, созданных a compiler.build функция, заданная как compiler.build.Results объект.

Файлы и папки для установки, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек из строк. Эти файлы обычно генерируются продуктом MATLAB Compiler, а также могут включать любые дополнительные файлы и папки, необходимые для запуска установленного приложения. Файлы, сгенерированные продуктом MATLAB Compiler в конкретном релизе, можно упаковать с помощью compiler.package.docker функция того же релиза.

Пример: 'myDockerFiles/'

Типы данных: char | string | cell

Путь к requiredMCRProducts.txt файл, заданный как вектор символов или строковый скаляр. Этот файл генерируется продуктом MATLAB Compiler. Путь может быть относительно текущей рабочей директории или абсолютным.

Пример: '/home/mluser/Documents/MATLAB/magicsquare/requiredMCRProducts.txt'

Типы данных: char | string

Имя изображения Docker. Он должен соответствовать правилам именования Docker.

Пример: 'hello-world'

Типы данных: char | string

Опции Docker, заданные как DockerOptions объект.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'ExecuteDockerBuild','on'

Путь к папке сборки, в которой построено изображение Docker, задается в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолютным.

Если путь не задан, функция создает папку сборки с именем ImageNameдокер в текущей рабочей директории.

Пример: 'DockerContext','/home/mluser/Documents/MATLAB/docker/magicsquaredocker'

Типы данных: char | string

Команда, которая будет выполняться при запуске изображения, заданная в виде вектора символов или строкового скаляра.

Пример: 'EntryPoint',"exec top -b"

Типы данных: char | string

Флаг для создания изображения Docker, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', тогда функция создаст изображение Docker.

  • Если вы задаете это свойство равным 'off', тогда функция заполнит DockerContext папка без вызова 'docker build'.

Пример: 'ExecuteDockerBuild','Off'

Типы данных: logical

Имя изображения Docker, заданное как вектор символов или строковый скаляр. Имя должно соответствовать правилам именования Docker. Имена репозитория Docker должны быть строчными. Если основной исполняемый или архивный файл назван заглавными буквами, то прописные буквы заменяются строчными буквами в имени изображения Docker.

Пример: 'ImageName','magicsquare'

Типы данных: char | string

Ограничения

  • Только автономные приложения могут быть упакованы в изображения Docker на R2020b.

Введенный в R2020b