在 macOS 上通過 Docker 部署DM8 (ARM 架構)

概述

達夢數據庫 (DM8) 無法直接在 Apple macOS 操作系統上原生安裝,通常需要通過虛擬機(如 Parallels DesktopVMware Fusion)進行部署。另一種更輕量級且受 macOS 支持的方案是利用 Docker 容器技術來構建開發與測試環境。本文檔將詳細介紹如何在搭載 Apple Silicon 芯片 (ARM 架構) 的 macOS 上,通過 Docker Desktop 安裝并運行達夢數據庫 DM8

Docker Desktop 安裝與配置

  1. 軟件下載:
    • 訪問 Docker 官方網站下載 Docker Desktop:https://www.docker.com/products/docker-desktop/。

  • 注意: 國內用戶可能無法直接訪問官網,請確保網絡環境允許訪問。
  • 下載完成后,選擇適用于 Apple silicon (ARM64) 的安裝包。

  1. 安裝步驟:
    • 雙擊下載的 .dmg 文件。
    • 將 Docker 圖標拖拽到 Applications 文件夾中完成安裝。

+ 在應用程序文件夾中找到并啟動 Docker Desktop。+ 首次啟動時,通常會提示登錄 Docker Hub 賬戶,可選擇 跳過 (Skip) 此步驟進行基本使用。

  1. 基本驗證:
    • 安裝完成后,可通過系統終端 (Terminal) 或 Docker Desktop 自帶的終端執行 Docker 命令進行驗證(例如 docker --version)。

  • Docker Desktop 界面可直觀管理容器和鏡像。

導入達夢 DM8 Docker 鏡像

  1. 加載鏡像文件:
    • 達夢數據庫 DM8 的 Docker 鏡像文件(如 dm8_20241230_HWarm_kylin10_64_rq_ent_8.1.4.6_pack20.tar)。
    • 在終端中使用 docker load 命令導入鏡像:
docker load -i dm8_20241230_HWarm_kylin10_64_rq_ent_8.1.4.6_pack20.tar
- 終端將顯示加載過程及最終鏡像信息(鏡像 ID、標簽等)。
rgy@MacBook-Air Downloads % docker load -i dm8_20241230_HWarm_kylin10_64_rq_ent_8.1.4.6_pack20.tar
353c81134611: Loading layer [==================================================>]  68.13MB/68.13MB
a2a1ef173d3f: Loading layer [==================================================>]  13.81MB/13.81MB
3bf081f10a0a: Loading layer [==================================================>]   25.6kB/25.6kB
57a258bbc540: Loading layer [==================================================>]  10.74MB/10.74MB
c6a50133aad7: Loading layer [==================================================>]    693MB/693MB
a968f06b1730: Loading layer [==================================================>]   2.56kB/2.56kB
e7e89f098e9a: Loading layer [==================================================>]   2.56kB/2.56kB
a08640b6af93: Loading layer [==================================================>]   2.56kB/2.56kB
3acf0a3d1475: Loading layer [==================================================>]   5.12kB/5.12kB
6886d5000ac7: Loading layer [==================================================>]   5.12kB/5.12kB
3871deeeb66b: Loading layer [==================================================>]  4.608kB/4.608kB
0d53b70e744c: Loading layer [==================================================>]  3.072kB/3.072kB
a4398027ff10: Loading layer [==================================================>]  15.36kB/15.36kB
3f422d2e61a6: Loading layer [==================================================>]  15.36kB/15.36kB
c827a1081359: Loading layer [==================================================>]   2.56kB/2.56kB
f2e33479badf: Loading layer [==================================================>]   2.56kB/2.56kB
3d6384cf4028: Loading layer [==================================================>]  4.096kB/4.096kB
df481b01e958: Loading layer [==================================================>]  4.096kB/4.096kB
f2e1e05adddb: Loading layer [==================================================>]  4.096kB/4.096kB
Loaded image: dm8:dm8_20241230_rev255012_HWarm_kylin10_64
rgy@MacBook-Air Downloads %
  1. 確認鏡像導入成功:
    • 使用 docker images 命令查看本地鏡像列表,確認 DM8 鏡像已存在:
docker images
# 輸出示例:
# REPOSITORY   TAG                                       IMAGE ID       CREATED        SIZE
# dm8          dm8_20241230_rev255012_HWarm_kylin10_64   51453ae9e0ea   7 months ago   782MB

部署 DM8 單機實例

  1. 啟動容器命令
    • 使用 docker run 命令啟動一個運行 DM8 的容器。務必設置滿足復雜度要求的系統管理員 (SYSDBA) 和安全管理員 (SYSAUDITOR) 密碼,否則容器可能啟動失敗。

    • 關鍵參數說明:

      • -d: 后臺運行容器。
      • -p 30236:5236: 將容器內部的 DM8 數據庫默認端口 (5236) 映射到宿主機的 30236 端口。
      • --restart=always: 容器退出時自動重啟。
      • --name dm8_test: 為容器命名。
      • --privileged=true: 賦予容器較高權限(通常用于數據庫容器)。
      • -e : 設置環境變量。
        • MODE=dmsingle: 單機模式。
        • PAGE_SIZE=16: 數據庫頁大小 (16K)。
        • CASE_SENSITIVE=1: 標識符大小寫敏感。
        • UNICODE_FLAG=1: 啟用 Unicode 支持。
        • SYSDBA_PWD=Dameng_123: 系統管理員 (SYSDBA) 密碼 (請使用強密碼)。
        • SYSAUDITOR_PWD=Dameng_123: 安全管理員 (SYSAUDITOR) 密碼 (請使用強密碼)。
        • LD_LIBRARY_PATH=/opt/dmdbms/bin: 庫文件路徑。
        • INSTANCE_NAME=dm8_8146: 實例名稱。
      • -v: 掛載數據卷。
        • -v /Users/rgy/dmdata:/opt/dmdbms/data: 將宿主機的 /Users/rgy/dmdata 目錄掛載到容器內的數據庫數據目錄 (強烈建議用于持久化數據)。
        • -v dm8:/opt/dmdbms/log: 使用 Docker 管理的卷 dm8 掛載到日志目錄 (也可使用主機路徑)。
      • dm8:dm8_20241230_rev255012_HWarm_kylin10_64: 指定使用的鏡像及標簽。
    • 完整啟動命令示例:

docker run -d \-p 30236:5236 \--restart=always \--name dm8_test \--privileged=true \-e MODE=dmsingle \-e PAGE_SIZE=16 \-e CASE_SENSITIVE=1 \-e UNICODE_FLAG=1 \-e SYSDBA_PWD=Dameng_123 \-e SYSAUDITOR_PWD=Dameng_123 \-e LD_LIBRARY_PATH=/opt/dmdbms/bin \-e INSTANCE_NAME=dm8_8146 \-v /Users/rgy/dmdata:/opt/dmdbms/data \-v dm8:/opt/dmdbms/log \dm8:dm8_20241230_rev255012_HWarm_kylin10_64
  1. 監控啟動日志:
    • 容器啟動后,可通過 Docker Desktop 的圖形界面查看容器日志,確認數據庫初始化是否成功。

  • 成功初始化后,可在掛載的主機目錄 /Users/rgy/dmdata 下看到數據庫文件:

連接與驗證數據庫

  1. 通過容器終端連接:
    • 使用Docker Desktop 進入 dm8_test 容器的終端界面。

  • 在容器內使用達夢命令行工具 disql 連接數據庫:
cd /opt/dmdbms/bin
./disql SYSDBA/Dameng_123@localhost:5236
  • 執行 SQL 查詢驗證實例信息(如 SELECT * FROM V$INSTANCE;)。

  1. 使用圖形化管理工具 (SQLark):

由于官方達夢管理工具 (DM Manager) 暫無 macOS 版本,可使用 SQLark(https://www.sqlark.com) 工具進行連接管理。

  • 在 SQLark 中新建達夢數據庫連接:

主機 (Host): localhostDocker 宿主機的 IP (如果從宿主機外部連接)。

端口 (`Port`): `30236` (即 Docker 映射的宿主機端口)。
用戶名 (`Username`): `SYSDBA`
密碼 (`Password`): `Dameng_123`
數據庫 (`Database`): 通常可留空或嘗試 `SYSDBA` (具體根據連接要求)。
  • 填寫正確信息后即可連接成功,進行數據庫管理操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91722.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡協議之路由是怎么回事?

寫在前面 要想去外面的世界看看, 就離不了路由器,而路由器工作的原理就是路由,那么具體是怎么路由的呢?本文就一起來看下這部分內容。 1:路由的配置 配置一條路由無非就是在配置以下三個信息: 1:包要去哪里&#x…

2106. 摘水果,梳理思路

文章目錄題目概要java 解法詳解題目概要 在一個無限的 x 坐標軸上,有許多水果分布在其中某些位置。給你一個二維整數數組 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti 個水果放置在 positioni 上。fruits 已經按 positioni 升序排列…

深入理解消息隊列(MQ)核心原理與設計精髓

引言:從一個“不堪重負”的訂單系統說起想象一個簡化的電商下單流程:用戶點擊“下單”后,系統需要:在訂單數據庫中創建一條記錄。調用庫存服務,扣減商品庫存。調用營銷服務,給用戶發放積分和優惠券。調用通…

前端手撕題總結篇(算法篇——來自Leetcode牛客)

鏈表指定區域反轉 找到區間(頭和為 for循環當**時)->反轉鏈表(返回反轉過后的頭和尾)->連接 function reverseBetween( head , m , n ) {//preEnd&cur&nextStart cur.next斷開if(mn)return head;const vHeadNode…

從Excel到工時管理系統:企業如何選擇更高效的工時記錄工具?

還在為手工統計員工工時而頭疼嗎?月末堆積如山的Excel表格、反復核對的數據、層出不窮的差錯,這些問題正在拖慢企業的發展步伐。8Manage工時管理系統發現,傳統手工記錄不僅耗費大量人力,更讓寶貴的工時數據難以轉化為有效的管理決…

Java設計模式之《命令模式》

目錄 1、介紹 1.1、命令模式定義 1.2、對比 1.3、典型應用場景 2、命令模式的結構 2.1、組成部分: 2.2、整體流程 3、實現 3.1、沒有命令模式 3.2、命令模式寫法 4、命令模式的優缺點 前言 java設計模式分類: 1、介紹 1.1、命令模式定義 命…

【動態規劃算法】路徑問題

什么是動態規劃算法動態規劃(Dynamic Programming,簡稱 DP)是一種通過分解復雜問題為重疊子問題,并存儲子問題的解以避免重復計算,從而高效求解具有特定性質(重疊子問題、最優子結構)問題的算法…

Java基本技術講解

一、基礎語法三要素 暫時無法在飛書文檔外展示此內容 🔑 黃金法則?:每個變量都要聲明類型!二、程序邏輯控制(游戲行為核心) 條件判斷:if-else - “岔路口選擇” // 撿到金幣邏輯 if (isTouching(Coin.clas…

【網絡基礎2】路由器的 “兩扇門”:二層接口和三層接口到底有啥不一樣?

目錄 前言:路由器不是只有 “插網線的口” 一、先搞懂一個基礎:路由器是 “網絡交通樞紐” 二、二層接口:“小區內部的單元門”,只認 “住戶身份證” 1. 啥是二層接口? 2. 用 “小區內部串門” 理解二層接口 步驟 1:手機打包數據,寫上 “收件人身份證” 步驟 2:二…

MLIR TableGen

簡介 TableGen 是一種領域特定語言(DSL),TableGen 的設計目標是允許編寫靈活的描述,并將記錄的通用特性提取出來,從而減少重復代碼并提高代碼的可維護性。 TableGen的工作流程: 前端解析: Ta…

2、docker容器命令 | 信息查看

1、命令總覽命令作用docker ps查看運行中的容器(-a查看所有容器)docker logs [CONTAINER]查看容器日志(-f實時追蹤日志)docker inspect [CONTAINER]查看容器詳細信息(JSON格式)docker stats [CONTAINER]實時…

【MySQL】MySQL中鎖有哪些?

一、按照粒度分類: 粒度越小,并發度越高,鎖開銷越大。 1.全局鎖: 作用: 鎖定整個MySQL實例(所有數據庫)。適用場景: 全庫邏輯部分。(確保備份期間數據的一致性。)實現方式: 通過 FLUSH TABLES W…

語義分割--deeplabV3+

根據論文網絡結構圖講一下:網絡分為兩部分:encoder和decoder部分。 Encoder:DCNN就是主干網絡,例如resnet,Xception,MobileNet這些(主干網絡也要使用空洞卷積),對dcnn的結…

Azure DevOps 中的代理

必知詞匯 深入研究 Azure DevOps 中的代理之前需要掌握的基本概念: 代理:Azure DevOps 中的代理是一個軟件組件,負責執行流水線中的任務和作業。這可能包括數據中心內的物理服務器、本地或云端托管的虛擬機,甚至是容器化環境。這些代理可以在各種操作系統和環境中運行,例如…

AUTOSAR進階圖解==>AUTOSAR_SRS_ADCDriver

AUTOSAR ADC驅動詳解 基于AUTOSAR標準的ADC驅動模塊需求規范分析目錄 ADC驅動模塊概述 關鍵概念定義 ADC驅動架構 ADC驅動在AUTOSAR分層架構中的位置ADC驅動的主要職責 ADC驅動配置結構 通用配置(AdcGeneral)硬件單元配置(AdcHwUnit)通道配置(AdcChannel)通道組配置(AdcChanne…

寶馬集團與SAP聯合打造生產物流數字化新標桿

在德國雷根斯堡的寶馬工廠,每57秒就有一輛新車下線。這座工廠不僅是汽車制造的基地,更是寶馬集團向SAP S/4HANA云平臺轉型的先鋒項目。通過“RISE with SAP”計劃,寶馬將該工廠的運營系統全面遷移至SAP S/4HANA Cloud Private Edition&#x…

Go 語言實戰:構建一個高性能的 MySQL + Redis 應用

引言:為什么是 Go MySQL Redis?在現代后端技術棧中,Go MySQL Redis 的組合堪稱“黃金搭檔”,被廣泛應用于各種高并發業務場景。Go 語言:以其卓越的并發性能、簡潔的語法和高效的執行效率,成為構建高性能…

Excel超級處理器,多個word表格模板中內容提取到Excel表格中

在職場中,很多人習慣在word里插入表格,設計模板,填寫內容,一旦有多個word文件需要整理在excel表格中,最常見的工作方式就是每個word文件打開,復制,粘貼到excel表格里,這樣的工作方式…

前端工程化:ES6特性

本文為個人學習筆記整理,僅供交流參考,非專業教學資料,內容請自行甄別 文章目錄一、let與var1.1、越獄問題1.2、變量的重復聲明1.3、變量提升問題二、解構2.1、數組解構2.2、對象解構2.3、方法解構三、鏈判斷四、參數默認值五、箭頭函數六、模…

大屏項目展示

一、項目克隆與基礎操作 我們參考的項目 互聯網設備可視化平臺---IofTV-Screen: ??一個基于 vue、datav、Echart 框架的物聯網可視化(大屏展示)模板,提供數據動態刷新渲染、屏幕適應、數據滾動配置,內部圖表自由替換、Mixins注入等功能,持續更新.... 將次項目克隆到本…