exponenta event banner

compiler.package.docker

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

Описание

пример

Внимание

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

compiler.package.docker(results) создает образ Docker ® для файлов, созданных Compiler™ MATLAB ® с помощью compiler.build.Results объект results. Объект результатов создается 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. Имя образа Docker указано imageName.

пример

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

пример

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

Примеры

свернуть все

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

Установите и настройте Docker в системе.

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

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

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');

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

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

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

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

mcc -o runmyapp -m myapp.m

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

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

Настройка образа Docker с использованием файлов, созданных компилятором MATLAB и 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);

Входные аргументы

свернуть все

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

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

Пример: 'myDockerFiles/'

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

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

Пример: '/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, определяемый как вектор символов или строковый скаляр. Путь может быть относительно текущего рабочего каталога или абсолютным.

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

Пример: '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. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

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

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

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

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

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

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

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

Ограничения

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

Представлен в R2020b