Repositori ini menunjukkan kepada Anda cara membuat dan menyesuaikan container Docker® untuk MATLAB® dan kotak peralatannya, menggunakan MATLAB Package Manager ( mpm ).
Anda dapat menggunakan gambar kontainer ini sebagai metode yang dapat diskalakan dan direproduksi untuk menerapkan dan menguji kode MATLAB Anda.
Gunakan Dockerfile di repositori tingkat atas ini jika Anda menginginkan cara yang ringan dan sederhana untuk membuat image container MATLAB. Anda juga dapat mengunduh gambar bawaan berdasarkan Dockerfile ini dari sini.
Untuk sumber daya alternatif, lihat folder alternatif yang berisi Dockerfiles berikut:
mpm
untuk menginstal MATLAB di container. Hal ini memungkinkan Anda untuk menginstal toolbox yang saat ini tidak didukung oleh mpm. Gunakan Dockerfile ini jika Anda lebih suka menggunakan alur kerja penginstal MATLAB, daripada mpm
.mathworks/matlab
. Dockerfile ini berisi fitur gambar MATLAB di Docker Hub, memungkinkan Anda mengakses MATLAB yang di-docker melalui browser, mode batch, atau prompt perintah interaktif.Untuk sumber daya terkait Docker lainnya, lihat Sumber Daya Docker MATLAB Lainnya.
Akses Dockerfile ini dengan mengunduh langsung repositori ini dari GitHub®, atau dengan mengkloning repositori ini dan kemudian menavigasi ke folder yang sesuai.
git clone https://github.com/mathworks-ref-arch/matlab-dockerfile.git
cd matlab-dockerfile
Bangun wadah dengan nama dan tag pilihan Anda.
docker build -t matlab:R2024b .
Jalankan wadahnya. Uji kontainer dengan menjalankan contoh perintah MATLAB seperti ver.
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
Dockerfile secara default membuat container untuk MATLAB R2024b.
Contoh perintah ver
menampilkan nomor versi MATLAB dan produk terinstal lainnya. Untuk informasi lebih lanjut, lihat ver. Untuk informasi selengkapnya tentang menjalankan container, lihat bagian Menjalankan Container.
Catatan
Menggunakan tanda
--init
dalam perintahdocker run
memastikan bahwa kontainer berhenti dengan baik ketika perintahdocker stop
ataudocker kill
dikeluarkan. Untuk informasi lebih lanjut, lihat tautan berikut:
- Halaman referensi menjalankan Docker.
- Posting blog tentang penggunaan init.
Secara default, Dockerfile menginstal MATLAB untuk rilis MATLAB terbaru yang tersedia tanpa kotak alat atau produk tambahan apa pun di folder /opt/matlab/${MATLAB_RELEASE}
.
Gunakan opsi di bawah untuk menyesuaikan build Anda.
Dockerfile mendukung variabel waktu build Docker berikut:
Nama Argumen | Nilai bawaan | Keterangan |
---|---|---|
MATLAB_RELEASE | R2024b | Rilis MATLAB untuk diinstal, misalnya R2023b . |
MATLAB_PRODUK_LIST | MATLAB | Produk yang akan dipasang sebagai daftar yang dipisahkan spasi. Untuk informasi lebih lanjut, lihat MPM.md. Misalnya: MATLAB Simulink Deep_Learning_Toolbox Fixed-Point_Designer |
MATLAB_INSTALL_LOCATION | /opt/matlab/R2024b | Jalur untuk menginstal MATLAB. |
LISENSI_SERVER | tidak disetel | Port dan nama host mesin yang menjalankan Network License Manager, menggunakan sintaks port@hostname . Misalnya: 27000@MyServerName |
Gunakan argumen ini dengan perintah docker build
untuk menyesuaikan gambar Anda. Alternatifnya, Anda dapat mengubah nilai default untuk argumen ini langsung di Dockerfile.
Misalnya, untuk membuat image untuk MATLAB R2019b, gunakan perintah ini.
docker build --build-arg MATLAB_RELEASE=R2019b -t matlab:R2019b .
Misalnya, untuk membuat image dengan MATLAB dan Simulink®, gunakan perintah ini.
docker build --build-arg MATLAB_PRODUCT_LIST= ' MATLAB Simulink ' -t matlab:R2024b .
Misalnya, untuk membuat image dengan MATLAB terinstal di /opt/matlab, gunakan perintah ini.
docker build --build-arg MATLAB_INSTALL_LOCATION= ' /opt/matlab ' -t matlab:R2024b .
Menyertakan informasi server lisensi dengan perintah docker build
berarti Anda tidak perlu meneruskannya saat menjalankan container.
# Build container with the License Server.
docker build --build-arg LICENSE_SERVER=27000@MyServerName -t matlab:R2024b .
# Run the container, without needing to pass license information.
docker run --init --rm matlab:R2024b -batch ver
Kontainer ini memerlukan Manajer Lisensi Jaringan untuk melisensikan dan menjalankan MATLAB. Anda memerlukan port dan nama host Manajer Lisensi Jaringan, atau file network.lic
.
Langkah 1 : Hubungi administrator sistem Anda, yang dapat memberikan salah satu hal berikut:
Alamat server Anda, dan port yang menjalankannya. Misalnya: [email protected]
File network.lic
yang berisi baris berikut:
# Sample network.lic
SERVER MyServerName.example.com < optional-mac-address > 27000
USE_SERVER
File license.dat
. Buka file license.dat
, temukan baris SERVER
, dan ekstrak port@hostname
, atau buat file network.lic
dengan menyalin baris SERVER
dan menambahkan baris USE_SERVER
di bawahnya.
# snippet from sample license.dat
SERVER MyServerName.example.com < mac-address > 27000
Langkah 2 : Gunakan port@hostname
atau file network.lic
dengan perintah docker build
atau docker run
.
Dengan perintah docker build
,:
Tentukan argumen build LICENSE_SERVER
.
# Example
docker build -t matlab:R2024b --build-arg LICENSE_SERVER=27000@MyServerName .
Gunakan file network.lic
:
network.lic
di folder yang sama dengan Dockerfile.COPY network.lic /opt/matlab/licenses/
di Dockerfile.LICENSE_SERVER
: # Example
docker build -t matlab:R2024b .
Dengan perintah docker run
, gunakan variabel lingkungan MLM_LICENSE_FILE
. Misalnya:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
Jika Anda tidak memberikan informasi server lisensi saat membuat image, berikan informasi tersebut saat menjalankan container. Atur variabel lingkungan MLM_LICENSE_FILE
menggunakan tanda -e
, dengan lokasi manajer lisensi jaringan dalam format port@hostname
.
# Start MATLAB, print version information, and exit:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
Anda dapat menjalankan penampung tanpa menentukan MLM_LICENSE_FILE
jika Anda memberikan informasi server lisensi saat membuat gambar, seperti yang ditunjukkan pada contoh di bawah.
Untuk memulai container dan menjalankan MATLAB dalam command prompt interaktif, jalankan:
docker run --init -it --rm matlab:R2024b
Untuk memulai container, jalankan perintah MATLAB, lalu keluar, jalankan:
# Container runs the command RAND in MATLAB and exits.
docker run --init --rm matlab:R2024b -batch rand
Untuk mengganti perilaku default kontainer dan menjalankan MATLAB dengan serangkaian argumen, seperti -logfile
, jalankan:
docker run --init -it --rm matlab:R2024b -logfile " logfilename.log "
Untuk mempelajari lebih lanjut, lihat dokumentasi: Opsi Startup yang Umum Digunakan.
Jelajahi Kontainer Docker MATLAB bawaan di Docker Hub: https://hub.docker.com/r/mathworks
Aktifkan kemampuan tambahan menggunakan repositori Dependensi MATLAB. Untuk beberapa alur kerja dan kotak alat, Anda harus menentukan dependensi. Anda harus melakukan ini jika ingin melakukan salah satu tugas berikut:
Repositori repositori matlab-deps mencantumkan Dockerfiles untuk berbagai rilis dan platform. Untuk melihat Dockerfile untuk R2024b, klik di sini.
Dockerfiles ini berisi baris komentar dengan perpustakaan yang mendukung kemampuan tambahan ini. Salin dan hapus komentar pada baris ini ke Dockerfile Anda.
Anda dapat membantu meningkatkan MATLAB dengan memberikan informasi pengalaman pengguna tentang cara Anda menggunakan produk MathWorks. Partisipasi Anda memastikan bahwa Anda terwakili dan membantu kami merancang produk yang lebih baik. Untuk memilih keluar dari layanan ini, hapus baris berikut di Dockerfile:
ENV MW_DDUX_FORCE_ENABLE=true MW_CONTEXT_TAGS=MATLAB:DOCKERFILE:V1
Untuk mempelajari lebih lanjut, lihat dokumentasi: Membantu Menjadikan MATLAB Lebih Baik - Pertanyaan yang Sering Diajukan.
Kami mendorong Anda untuk mencoba repositori ini dengan lingkungan Anda dan memberikan umpan balik. Jika Anda mengalami masalah teknis atau memiliki permintaan penyempurnaan, buatlah masalah di sini.
Hak Cipta 2021-2024 The MathWorks, Inc.