Skip to content

Commit cc56a71

Browse files
committed
Updates Dockerfile defaults to MATLAB R2025a, Ubuntu24.04, Python 3.12
fixes #14
1 parent d306ce6 commit cc56a71

File tree

4 files changed

+42
-42
lines changed

4 files changed

+42
-42
lines changed

.github/workflows/jupyter-matlab-notebook.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2024 The MathWorks, Inc.
1+
# Copyright 2024-2025 The MathWorks, Inc.
22
# Build & Publish jupyter-matlab-notebook
33
name: jupyter-matlab-notebook
44

@@ -23,13 +23,13 @@ jobs:
2323
strategy:
2424
fail-fast: false
2525
matrix:
26-
matlab_release_tag: [R2024b, R2024a, R2023b, R2023a, R2022b]
26+
matlab_release_tag: [R2025a, R2024b, R2024a, R2023b, R2023a, R2022b]
2727
uses: ./.github/workflows/build-and-publish-docker-image.yml
2828
secrets: inherit
2929
with:
3030
docker_build_context: '.'
3131
base_image_name: ghcr.io/${{ github.repository }}/jupyter-matlab-notebook
32-
os_info_tag: 'ubuntu22.04'
32+
os_info_tag: 'ubuntu24.04'
3333
matlab_release_tag: ${{ matrix.matlab_release_tag }}
3434
is_default_os: true
3535
build_args_csv: MATLAB_RELEASE=${{ matrix.matlab_release_tag }},INSTALL_VNC=1,INSTALL_MATLABENGINE=1

.github/workflows/jupyter-mounted-matlab-notebook.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2024 The MathWorks, Inc.
1+
# Copyright 2024-2025 The MathWorks, Inc.
22
# Build & Publish jupyter-mounted-matlab-notebook
33
name: jupyter-mounted-matlab-notebook
44

@@ -23,13 +23,13 @@ jobs:
2323
strategy:
2424
fail-fast: false
2525
matrix:
26-
matlab_release_tag: [R2024b, R2024a, R2023b, R2023a, R2022b]
26+
matlab_release_tag: [R2025a, R2024b, R2024a, R2023b, R2023a, R2022b]
2727
uses: ./.github/workflows/build-and-publish-docker-image.yml
2828
secrets: inherit
2929
with:
3030
docker_build_context: '.'
3131
base_image_name: ghcr.io/${{ github.repository }}/jupyter-mounted-matlab-notebook
32-
os_info_tag: 'ubuntu22.04'
32+
os_info_tag: 'ubuntu24.04'
3333
matlab_release_tag: ${{ matrix.matlab_release_tag }}
3434
is_default_os: true
3535
build_args_csv: MATLAB_RELEASE=${{ matrix.matlab_release_tag }},INSTALL_VNC=1,INSTALL_MATLABENGINE=1,MOUNT_MATLAB=1

Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Copyright 2024 The MathWorks, Inc.
1+
# Copyright 2024-2025 The MathWorks, Inc.
22
# Dockerfile for the MATLAB Integration for Jupyter based on quay.io/jupyter/base-notebook
3-
# With Python Version : 3.11
3+
# With Python Version : 3.12
44
###############################################################################
55
# This Dockerfile is divided into multiple stages, the behavior of each stage
66
# is based on the build time args.
@@ -16,7 +16,7 @@
1616
# Example docker build commands are available at the end of this file.
1717

1818
## Setup Build Arguments, to chain multi-stage build selection.
19-
ARG MATLAB_RELEASE=R2024b
19+
ARG MATLAB_RELEASE=R2025a
2020

2121
# See https://mathworks.com/help/install/ug/mpminstall.html for product list specfication
2222
ARG MATLAB_PRODUCT_LIST="MATLAB"
@@ -57,8 +57,8 @@ ARG VNC=${INSTALL_VNC:+"-with-vnc"}
5757
ARG LICENSE_SERVER
5858
ARG NLM=${LICENSE_SERVER:+"-with-nlm"}
5959

60-
# Both 22.04 & 24.04 ship with Python 3.11
61-
ARG UBUNTU_VERSION=22.04
60+
# Python 3.12 is the default version in Ubuntu 24.04
61+
ARG UBUNTU_VERSION=24.04
6262

6363
######################################
6464
# Stage 1 : Base Layer + matlab-deps
@@ -245,19 +245,19 @@ ENV MW_CONTEXT_TAGS=MATLAB_PROXY:JUPYTER:V1
245245

246246
### Dockerfile build configurations:
247247
# 1. MATLAB from MPM + JMP
248-
# docker build -f One.dockerfile -t mifj:mpm .
248+
# docker build -t mifj:mpm .
249249

250250
# 2. MATLAB from MPM + JMP + MEFP
251-
# docker build -f One.dockerfile -t mifj:mpm --build-arg INSTALL_MATLABENGINE=1 .
251+
# docker build -t mifj:mpm --build-arg INSTALL_MATLABENGINE=1 .
252252

253253
# 3. MATLAB from MPM + JMP + VNC
254-
# docker build -f One.dockerfile -t mifj:mpm --build-arg INSTALL_VNC=1 .
254+
# docker build -t mifj:mpm --build-arg INSTALL_VNC=1 .
255255

256256
# 4. MATLAB from MPM + JMP + LICENSE_SERVER
257-
# docker build -f One.dockerfile -t mifj:mpm --build-arg LICENSE_SERVER=port@hostname .
257+
# docker build -t mifj:mpm --build-arg LICENSE_SERVER=port@hostname .
258258

259259
# 5. Mounted MATLAB
260-
# docker build -f One.dockerfile -t mifj:mpm MOUNT_MATLAB=1 .
260+
# docker build -t mifj:mpm MOUNT_MATLAB=1 .
261261

262262
# 5. BYOI MATLAB Image, MATLAB_RELEASE is required to install the right dependencies
263-
# docker build -f One.dockerfile -t mifj:mpm MATLAB_IMAGE_NAME=mathworks/matlab:r2024b MATLAB_RELEASE=R2024b .
263+
# docker build -t mifj:mpm MATLAB_IMAGE_NAME=mathworks/matlab:r2024b MATLAB_RELEASE=R2024b .

README.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# MATLAB Integration *for Jupyter* Reference Architecture
33

4-
To run MATLAB® in Jupyter® inside a container, use the Dockerfile in this repository. The Dockerfile builds an image with [MATLAB Integration for Jupyter](https://github.com/mathworks/jupyter-matlab-proxy) (GitHub), based on a `jupyter/base-notebook:ubuntu-22.04` base image from [Jupyter Docker Stacks](https://github.com/jupyter/docker-stacks) (GitHub), which ships with Python 3.11.
4+
To run MATLAB® in Jupyter® inside a container, use the Dockerfile in this repository. The Dockerfile builds an image with [MATLAB Integration for Jupyter](https://github.com/mathworks/jupyter-matlab-proxy) (GitHub), based on a `jupyter/base-notebook:ubuntu-24.04` base image from [Jupyter Docker Stacks](https://github.com/jupyter/docker-stacks) (GitHub), which ships with Python 3.12.
55

66
## Build Instructions
77

@@ -16,12 +16,12 @@ cd matlab-integration-for-jupyter
1616
### Build & Run Docker Container
1717
Build the container with a name and tag of your choice.
1818
```bash
19-
docker build -t mifj:R2024b .
19+
docker build -t mifj:R2025a .
2020
```
2121

2222
Run the container.
2323
```bash
24-
docker run -it -p 8888:8888 --rm mifj:R2024b
24+
docker run -it -p 8888:8888 --rm mifj:R2025a
2525
```
2626

2727
To open JupyterLab, use your browser to visit the address printed in your console of the format `http://<hostname>:8888/?token=<token>`. The `hostname` is the name of the computer running Docker, and the `token` is the secret token printed in the console.
@@ -39,7 +39,7 @@ The [Dockerfile](https://github.com/mathworks-ref-arch/matlab-dockerfile/blob/ma
3939

4040
| Argument Name | Description | Default value |
4141
|---|---|---|
42-
| [MATLAB_RELEASE](#build-an-image-for-a-different-release-of-matlab) | The MATLAB release you want to install. | R2024b |
42+
| [MATLAB_RELEASE](#build-an-image-for-a-different-release-of-matlab) | The MATLAB release you want to install. | R2025a |
4343
| [MATLAB_PRODUCT_LIST](#build-an-image-with-a-specific-set-of-products) | Products to install as a space-separated list. For more information, see [MPM.md](https://github.com/mathworks-ref-arch/matlab-dockerfile/blob/main/MPM.md). For example: MATLAB Simulink Deep_Learning_Toolbox Fixed-Point_Designer. | MATLAB |
4444
| [MATLAB_INSTALL_LOCATION](#build-an-image-with-matlab-installed-to-a-specific-location) | The path to install MATLAB. | /opt/matlab |
4545
| [LICENSE_SERVER](#build-an-image-configured-to-use-a-license-server) | The port and hostname of the machine that is running the Network License Manager, using the port@hostname syntax. For example: *27000@MyServerName* | *Unset* |
@@ -58,36 +58,36 @@ docker build --build-arg MATLAB_RELEASE=R2019b -t mifj:R2019b .
5858
#### Build an Image with Specific Products
5959
To build an image with MATLAB and Simulink, run:
6060
```bash
61-
docker build --build-arg MATLAB_PRODUCT_LIST='MATLAB Simulink' -t mifj:R2024b .
61+
docker build --build-arg MATLAB_PRODUCT_LIST='MATLAB Simulink' -t mifj:R2025a .
6262
```
6363

6464
#### Build an Image with MATLAB Installed in a Specific Location
6565
To build an image with MATLAB installed at `/opt/matlab`, use this command.
6666
```bash
67-
docker build --build-arg MATLAB_INSTALL_LOCATION='/opt/matlab' -t mifj:R2024b .
67+
docker build --build-arg MATLAB_INSTALL_LOCATION='/opt/matlab' -t mifj:R2025a .
6868
```
6969

7070
#### Build an Image Configured to Use a License Server
7171

7272
If you include the license server information with the `docker build` command, you do not have to provide it when running the container.
7373
```bash
7474
# Build container with the License Server.
75-
docker build --build-arg LICENSE_SERVER=27000@MyServerName -t mifj:R2024b .
75+
docker build --build-arg LICENSE_SERVER=27000@MyServerName -t mifj:R2025a .
7676

7777
# Run the container, without providing license information.
78-
docker run -it --rm -p 8888:8888 mifj:R2024b
78+
docker run -it --rm -p 8888:8888 mifj:R2025a
7979
```
8080
Alternatively, to provide the License Server information with `docker run`, you can use the environment variable `MLM_LICENSE_FILE`:
8181
```bash
82-
docker run -it --rm -p 8888:8888 -e MLM_LICENSE_FILE=27000@MyServerName mifj:R2024b
82+
docker run -it --rm -p 8888:8888 -e MLM_LICENSE_FILE=27000@MyServerName mifj:R2025a
8383
```
8484

8585
For more information on using the Network License Manager, see [Use the Network License Manager](https://github.com/mathworks-ref-arch/matlab-dockerfile?tab=readme-ov-file#use-the-network-license-manager) for more information.
8686

8787
#### Build an Image with the MATLAB Engine for Python
8888
To build the default image along with the MATLAB Engine for Python for a given MATLAB Release, run:
8989
```bash
90-
docker build --build-arg INSTALL_MATLABENGINE=1 --build-arg MATLAB_RELEASE=R2024b -t mifj:R2024b .
90+
docker build --build-arg INSTALL_MATLABENGINE=1 --build-arg MATLAB_RELEASE=R2025a -t mifj:R2025a .
9191
```
9292
For more information, see:
9393
- [MATLAB Engine for Python](https://github.com/mathworks/matlab-engine-for-python) (GitHub).
@@ -100,7 +100,7 @@ For more information, see:
100100
#### Build an Image with the MATLAB Integration for Jupyter using VNC
101101
To build the default image along with the MATLAB Integration for Jupyter using VNC, run:
102102
```bash
103-
docker build --build-arg INSTALL_VNC=1 -t mifj:R2024b .
103+
docker build --build-arg INSTALL_VNC=1 -t mifj:R2025a .
104104
```
105105
For more information, see [MATLAB Integration for Jupyter using VNC*(GitHub)*](https://github.com/mathworks/jupyter-matlab-vnc-proxy).
106106

@@ -124,17 +124,17 @@ Use the [Dockerfile Build Arguments](https://docs.docker.com/reference/dockerfil
124124

125125
```bash
126126
docker build --build-arg MOUNT_MATLAB=1 \
127-
--build-arg MATLAB_RELEASE=R2024b \
127+
--build-arg MATLAB_RELEASE=R2025a \
128128
-t mifj:mounted .
129129
```
130130
The `MATLAB_RELEASE` argument ensures that the system dependencies required for MATLAB are installed in the container.
131131

132132
Note: When you are mounting MATLAB on the container at run time, you cannot install MATLAB Engine for Python at build time.
133133

134134
#### Specify Mount Location at Container Startup
135-
If MATLAB is installed in `/usr/local/MATLAB/R2024b` on your local machine, you can bind mount this folder to `/opt/matlab` using the command shown below:
135+
If MATLAB is installed in `/usr/local/MATLAB/R2025a` on your local machine, you can bind mount this folder to `/opt/matlab` using the command shown below:
136136
```bash
137-
docker run -it --rm -v /usr/local/MATLAB/R2024b:/opt/matlab:ro -p 8888:8888 mifj:mounted
137+
docker run -it --rm -v /usr/local/MATLAB/R2025a:/opt/matlab:ro -p 8888:8888 mifj:mounted
138138
```
139139
For more information, see [Bind Mounts (Docker)](https://docs.docker.com/engine/storage/bind-mounts/).
140140

@@ -146,9 +146,9 @@ This option is useful when you want to minimize the size of the container as ins
146146
To copy an existing MATLAB installation from another container image, specify the image name with the Docker Build Arguments `MATLAB_IMAGE_NAME` and `MATLAB_RELEASE` as shown below:
147147

148148
```bash
149-
# Copies MATLAB from the Dockerhub Image "mathworks/matlab:r2024b" into the image being built.
150-
docker build --build-arg MATLAB_IMAGE_NAME=mathworks/matlab:r2024b \
151-
--build-arg MATLAB_RELEASE=R2024b \
149+
# Copies MATLAB from the Dockerhub Image "mathworks/matlab:r2025a" into the image being built.
150+
docker build --build-arg MATLAB_IMAGE_NAME=mathworks/matlab:r2025a \
151+
--build-arg MATLAB_RELEASE=R2025a \
152152
-t mifj:copied .
153153
```
154154
The `MATLAB_RELEASE` argument, ensures that the system dependencies required for MATLAB, are installed into the container.
@@ -158,35 +158,35 @@ The `MATLAB_RELEASE` argument, ensures that the system dependencies required for
158158
You can download several Docker images based on this Dockerfile from the GitHub Container Registry.
159159

160160
### jupyter-matlab-notebook
161-
These images are based on `jupyter/base-notebook:ubuntu-22.04` and include:
161+
These images are based on `jupyter/base-notebook:ubuntu-24.04` and include:
162162
* MATLAB
163163
* MATLAB Integration for Jupyter
164164
* MATLAB Integration for Jupyter using VNC
165165
* MATLAB Engine for Python
166166
* Only available in pre-built images newer than R2023b
167167
* See [Different Versions of OS or Python](#different-versions-of-os-or-python) for more information on installing the engine for older versions of MATLAB.
168168

169-
**Available Tags**: `R2024b`, `R2024a`, `R2023b`, `R2023a`, `R2022b`
169+
**Available Tags**: `R2025a`, `R2024b`, `R2024a`, `R2023b`, `R2023a`, `R2022b`
170170

171171
**Docker Pull Command**:
172172
```bash
173173
# Substitute the tag with your desired version of MATLAB.
174-
docker pull ghcr.io/mathworks-ref-arch/matlab-integration-for-jupyter/jupyter-matlab-notebook:R2024b
174+
docker pull ghcr.io/mathworks-ref-arch/matlab-integration-for-jupyter/jupyter-matlab-notebook:R2025a
175175
```
176176
### jupyter-mounted-matlab-notebook
177-
These images are based on `jupyter/base-notebook:ubuntu-22.04` and include:
177+
These images are based on `jupyter/base-notebook:ubuntu-24.04` and include:
178178
* MATLAB Integration for Jupyter
179179
* MATLAB Integration for Jupyter using VNC
180180
* MATLAB Engine for Python
181181
* Only available in pre-built images newer than R2023b
182182
* See [Compatibility for Different Versions of OS or Python](#compatibility-for-different-versions-of-os-or-python) for more information on installing the engine for older versions of MATLAB.
183183

184-
**Available Tags**: `R2024b`, `R2024a`, `R2023b`, `R2023a`, `R2022b`
184+
**Available Tags**: `R2025a`, `R2024b`, `R2024a`, `R2023b`, `R2023a`, `R2022b`
185185

186186
**Docker Pull Command**:
187187
```bash
188188
# Substitute the tag with your desired version of MATLAB.
189-
docker pull ghcr.io/mathworks-ref-arch/matlab-integration-for-jupyter/jupyter-mounted-matlab-notebook:R2024b
189+
docker pull ghcr.io/mathworks-ref-arch/matlab-integration-for-jupyter/jupyter-mounted-matlab-notebook:R2025a
190190
```
191191
Use the correct version of the image based on the MATLAB release you are mounting on the image.
192192
For example to mount `R2022b` from your local machine, that is installed in `/usr/local/MATLAB/R2022b`, use the following `docker run` command:
@@ -206,14 +206,14 @@ This might be useful if your workflow depends on older versions of Python. For e
206206

207207
### MATLAB Dependencies
208208

209-
To verify that the release of MATLAB you are installing is supported for your operating system, consult the [MATLAB Dependencies](https://github.com/mathworks-ref-arch/container-images/tree/main/matlab-deps) repository. For example, R2024b is currently the only MATLAB Release which supports Ubuntu 24.04.
209+
To verify that the release of MATLAB you are installing is supported for your operating system, consult the [MATLAB Dependencies](https://github.com/mathworks-ref-arch/container-images/tree/main/matlab-deps) repository.
210210

211211
## Support & Feedback
212212
To submit an enhancement request or request technical support, create an [Issue](https://github.com/mathworks-ref-arch/matlab-integration-for-jupyter/issues/new).
213213

214214

215215
----
216216

217-
Copyright 2020-2024 The MathWorks, Inc.
217+
Copyright 2020-2025 The MathWorks, Inc.
218218

219219
----

0 commit comments

Comments
 (0)