พื้นที่เก็บข้อมูลนี้แสดงวิธีสร้างและปรับแต่งคอนเทนเนอร์ Docker® สำหรับ MATLAB® และกล่องเครื่องมือโดยใช้ MATLAB Package Manager ( mpm )
คุณสามารถใช้อิมเมจคอนเทนเนอร์นี้เป็นวิธีการปรับขนาดและทำซ้ำได้เพื่อปรับใช้และทดสอบโค้ด MATLAB ของคุณ
ใช้ Dockerfile ในพื้นที่เก็บข้อมูลระดับบนสุดนี้ หากคุณต้องการวิธีที่ง่ายและไม่ซับซ้อนในการสร้างอิมเมจคอนเทนเนอร์ MATLAB คุณยังสามารถดาวน์โหลดอิมเมจที่สร้างไว้ล่วงหน้าตาม Dockerfile นี้ได้จากที่นี่
สำหรับทรัพยากรทางเลือก โปรดดู โฟลเดอร์ทางเลือก ที่มี Dockerfiles ต่อไปนี้:
mpm
เพื่อติดตั้ง MATLAB ในคอนเทนเนอร์ สิ่งนี้ทำให้คุณสามารถติดตั้งกล่องเครื่องมือที่ mpm ไม่รองรับในปัจจุบัน ใช้ Dockerfile นี้หากคุณต้องการใช้เวิร์กโฟลว์ตัวติดตั้ง MATLAB แทน mpm
mathworks/matlab
Dockerfile นี้มีคุณสมบัติของอิมเมจ MATLAB บน Docker Hub ซึ่งช่วยให้คุณเข้าถึง MATLAB ที่เชื่อมต่อผ่านเบราว์เซอร์ โหมดแบตช์ หรือพรอมต์คำสั่งแบบโต้ตอบสำหรับแหล่งข้อมูลที่เกี่ยวข้องกับ Docker เพิ่มเติม โปรดดูแหล่งข้อมูล MATLAB Docker เพิ่มเติม
เข้าถึง Dockerfile นี้โดยการดาวน์โหลดที่เก็บนี้โดยตรงจาก GitHub® หรือโดยการโคลนที่เก็บนี้แล้วนำทางไปยังโฟลเดอร์ที่เหมาะสม
git clone https://github.com/mathworks-ref-arch/matlab-dockerfile.git
cd matlab-dockerfile
สร้างคอนเทนเนอร์ด้วยชื่อและแท็กที่คุณเลือก
docker build -t matlab:R2024b .
เรียกใช้คอนเทนเนอร์ ทดสอบคอนเทนเนอร์โดยการรันคำสั่งตัวอย่าง MATLAB เช่น ver.
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
Dockerfile มีค่าเริ่มต้นในการสร้างคอนเทนเนอร์สำหรับ MATLAB R2024b
คำสั่งตัวอย่าง ver
แสดงหมายเลขเวอร์ชันของ MATLAB และผลิตภัณฑ์ที่ติดตั้งอื่นๆ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ver. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรันคอนเทนเนอร์ โปรดดูส่วนการรันคอนเทนเนอร์
บันทึก
การใช้แฟล็ก
--init
ในคำสั่งdocker run
ทำให้แน่ใจว่าคอนเทนเนอร์หยุดทำงานอย่างสวยงามเมื่อมีการออกคำสั่งdocker stop
หรือdocker kill
สำหรับข้อมูลเพิ่มเติม โปรดดูลิงก์ต่อไปนี้:
- หน้าอ้างอิงการรันนักเทียบท่า
- โพสต์ในบล็อกเกี่ยวกับการใช้ init
ตามค่าเริ่มต้น Dockerfile จะติดตั้ง MATLAB สำหรับ MATLAB รุ่นล่าสุดที่มีอยู่โดยไม่มีกล่องเครื่องมือหรือผลิตภัณฑ์เพิ่มเติมในโฟลเดอร์ /opt/matlab/${MATLAB_RELEASE}
ใช้ตัวเลือกด้านล่างเพื่อปรับแต่งงานสร้างของคุณ
Dockerfile รองรับตัวแปรเวลาบิลด์ของ Docker ต่อไปนี้:
ชื่ออาร์กิวเมนต์ | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|
MATLAB_RELEASE | R2024b | MATLAB ที่จะติดตั้ง เช่น R2023b |
MATLAB_PRODUCT_LIST | แมทแล็บ | สินค้าที่จะติดตั้งเป็นรายการแบบเว้นวรรค สำหรับข้อมูลเพิ่มเติม โปรดดู MPM.md ตัวอย่างเช่น: MATLAB Simulink Deep_Learning_Toolbox Fixed-Point_Designer |
MATLAB_INSTALL_LOCATION | /opt/matlab/R2024b | เส้นทางการติดตั้ง MATLAB |
LICENSE_SERVER | ไม่ได้ตั้งค่า | พอร์ตและชื่อโฮสต์ของเครื่องที่รัน Network License Manager โดยใช้ไวยากรณ์ port@hostname ตัวอย่างเช่น: 27000@MyServerName |
ใช้อาร์กิวเมนต์เหล่านี้กับคำสั่ง docker build
เพื่อปรับแต่งรูปภาพของคุณ หรือคุณสามารถเปลี่ยนค่าเริ่มต้นสำหรับอาร์กิวเมนต์เหล่านี้ได้โดยตรงใน Dockerfile
ตัวอย่างเช่น หากต้องการสร้างอิมเมจสำหรับ MATLAB R2019b ให้ใช้คำสั่งนี้
docker build --build-arg MATLAB_RELEASE=R2019b -t matlab:R2019b .
ตัวอย่างเช่น หากต้องการสร้างอิมเมจด้วย MATLAB และ Simulink® ให้ใช้คำสั่งนี้
docker build --build-arg MATLAB_PRODUCT_LIST= ' MATLAB Simulink ' -t matlab:R2024b .
ตัวอย่างเช่น หากต้องการสร้างอิมเมจโดยติดตั้ง MATLAB ที่ /opt/matlab ให้ใช้คำสั่งนี้
docker build --build-arg MATLAB_INSTALL_LOCATION= ' /opt/matlab ' -t matlab:R2024b .
การรวมข้อมูลเซิร์ฟเวอร์ใบอนุญาตเข้ากับคำสั่ง docker build
หมายความว่าคุณไม่จำเป็นต้องส่งผ่านเมื่อเรียกใช้คอนเทนเนอร์
# 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
คอนเทนเนอร์นี้ต้องใช้ Network License Manager เพื่ออนุญาตและเรียกใช้ MATLAB คุณจะต้องมีพอร์ตและชื่อโฮสต์ของ Network License Manager หรือไฟล์ network.lic
ขั้นตอนที่ 1 : ติดต่อผู้ดูแลระบบของคุณซึ่งสามารถให้ข้อมูลอย่างใดอย่างหนึ่งต่อไปนี้:
ที่อยู่ไปยังเซิร์ฟเวอร์ของคุณและพอร์ตที่เซิร์ฟเวอร์ทำงานอยู่ ตัวอย่างเช่น: [email protected]
ไฟล์ network.lic
ซึ่งมีบรรทัดต่อไปนี้:
# Sample network.lic
SERVER MyServerName.example.com < optional-mac-address > 27000
USE_SERVER
ไฟล์ license.dat
เปิดไฟล์ license.dat
ค้นหาบรรทัด SERVER
แล้วแยก port@hostname
หรือสร้างไฟล์ network.lic
โดยการคัดลอกบรรทัด SERVER
และเพิ่มบรรทัด USE_SERVER
ด้านล่าง
# snippet from sample license.dat
SERVER MyServerName.example.com < mac-address > 27000
ขั้นตอนที่ 2 : ใช้ port@hostname
หรือไฟล์ network.lic
ด้วยคำสั่ง docker build
หรือ docker run
ด้วยคำสั่ง docker build
อย่างใดอย่างหนึ่งต่อไปนี้
ระบุ LICENSE_SERVER
build-arg
# Example
docker build -t matlab:R2024b --build-arg LICENSE_SERVER=27000@MyServerName .
ใช้ไฟล์ network.lic
:
network.lic
ไว้ในโฟลเดอร์เดียวกับ DockerfileCOPY network.lic /opt/matlab/licenses/
ใน DockerfileLICENSE_SERVER
build-arg: # Example
docker build -t matlab:R2024b .
ด้วยคำสั่ง docker run
ใช้ตัวแปรสภาพแวดล้อม MLM_LICENSE_FILE
ตัวอย่างเช่น:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
หากคุณไม่ได้ระบุข้อมูลเซิร์ฟเวอร์ใบอนุญาตเมื่อสร้างอิมเมจ ให้ระบุเมื่อเรียกใช้คอนเทนเนอร์ ตั้งค่าตัวแปรสภาพแวดล้อม MLM_LICENSE_FILE
โดยใช้แฟล็ก -e
โดยมีตำแหน่งของตัวจัดการใบอนุญาตเครือข่ายอยู่ในรูปแบบ port@hostname
# Start MATLAB, print version information, and exit:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
คุณสามารถเรียกใช้คอนเทนเนอร์ ได้โดยไม่ ต้องระบุ MLM_LICENSE_FILE
หากคุณระบุข้อมูลเซิร์ฟเวอร์ใบอนุญาตเมื่อสร้างอิมเมจ ดังที่แสดงในตัวอย่างด้านล่าง
หากต้องการเริ่มคอนเทนเนอร์และเรียกใช้ MATLAB ในพร้อมท์คำสั่งแบบโต้ตอบ ให้ดำเนินการ:
docker run --init -it --rm matlab:R2024b
หากต้องการเริ่มคอนเทนเนอร์ ให้รันคำสั่ง MATLAB จากนั้นออก ดำเนินการ:
# Container runs the command RAND in MATLAB and exits.
docker run --init --rm matlab:R2024b -batch rand
หากต้องการแทนที่พฤติกรรมเริ่มต้นของคอนเทนเนอร์และรัน MATLAB ด้วยชุดอาร์กิวเมนต์ใดๆ เช่น -logfile
ให้ดำเนินการ:
docker run --init -it --rm matlab:R2024b -logfile " logfilename.log "
หากต้องการเรียนรู้เพิ่มเติม โปรดดูเอกสารประกอบ: ตัวเลือกการเริ่มต้นระบบที่ใช้กันทั่วไป
สำรวจ MATLAB Docker Containers ที่สร้างไว้ล่วงหน้าบน Docker Hub: https://hub.docker.com/r/mathworks
เปิดใช้งานความสามารถเพิ่มเติมโดยใช้พื้นที่เก็บข้อมูลการพึ่งพา MATLAB สำหรับเวิร์กโฟลว์และกล่องเครื่องมือบางอย่าง คุณต้องระบุการขึ้นต่อกัน คุณต้องทำเช่นนี้ถ้าคุณต้องการทำงานใดๆ ต่อไปนี้:
พื้นที่เก็บข้อมูล Matlab-deps แสดงรายการ Dockerfiles สำหรับรีลีสและแพลตฟอร์มต่างๆ หากต้องการดู Dockerfile สำหรับ R2024b คลิกที่นี่
Dockerfiles เหล่านี้มีบรรทัดที่มีความคิดเห็นพร้อมกับไลบรารีที่รองรับความสามารถเพิ่มเติมเหล่านี้ คัดลอกและยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัดเหล่านี้ลงใน Dockerfile ของคุณ
คุณสามารถช่วยปรับปรุง MATLAB ได้โดยให้ข้อมูลประสบการณ์ผู้ใช้เกี่ยวกับวิธีการใช้ผลิตภัณฑ์ MathWorks การมีส่วนร่วมของคุณช่วยให้แน่ใจว่าคุณเป็นตัวแทนและช่วยให้เราออกแบบผลิตภัณฑ์ได้ดีขึ้น หากต้องการยกเลิกบริการนี้ ให้ลบบรรทัดต่อไปนี้ใน Dockerfile:
ENV MW_DDUX_FORCE_ENABLE=true MW_CONTEXT_TAGS=MATLAB:DOCKERFILE:V1
หากต้องการเรียนรู้เพิ่มเติม โปรดดูเอกสารประกอบ: ช่วยทำให้ MATLAB ดียิ่งขึ้น - คำถามที่ถามบ่อย
เราขอแนะนำให้คุณลองใช้พื้นที่เก็บข้อมูลนี้กับสภาพแวดล้อมของคุณและให้ข้อเสนอแนะ หากคุณพบปัญหาด้านเทคนิคหรือมีคำขอปรับปรุง ให้สร้างปัญหาที่นี่
ลิขสิทธิ์ 2021-2024 MathWorks, Inc.