Docker 安装 DM8镜像(Mac)

目录

官方文档

1、下载镜像

2、导入镜像

 3、启动容器

 4、测试连接

5、常用命令


官方文档

Docker 安装 | 达梦技术文档

1、下载镜像

产品下载 | 达梦数据库

命令下载

wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_20220822_rev166351_x86_rh6_64_ctm.tar

直接下载(我用这种)

 下载完成

2、导入镜像

 导入完成后,可以使用 docker images 查看导入的镜像。

 3、启动容器

运行docker命令:

 /Users/mac/Documents/tool/dm/data/dm8_01 这个地址要换成你本地的映射地址,下边会说

docker run -d -p 5236:5236 \
--restart=always \
--name dm8_01 \
--privileged=true \
-e CASE_SENSITIVE=0 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e INSTANCE_NAME=dm8_01 \
-v /Users/mac/Documents/tool/dm/data/dm8_01:/opt/dmdbms/data \
dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4

具体含义(AI解释更加清晰😜):

docker run: 运行一个新的Docker容器。
-d: 在后台运行容器。
-p 5236:5236: 将主机的5236端口映射到容器的5236端口,允许通过主机访问容器中的服务。
--restart=always: 容器在退出时自动重启。
--name dm8_01: 指定容器的名称为"dm8_01"。
--privileged=true: 在容器内部允许使用特权模式,即对容器内部的所有系统操作都具有完全权限。
-e CASE_SENSITIVE=0: 设置环境变量CASE_SENSITIVE的值为0。
-e UNICODE_FLAG=1: 设置环境变量UNICODE_FLAG的值为1。
-e LENGTH_IN_CHAR=1: 设置环境变量LENGTH_IN_CHAR的值为1。
-e PAGE_SIZE=16: 设置环境变量PAGE_SIZE的值为16。
-e LD_LIBRARY_PATH=/opt/dmdbms/bin: 设置环境变量LD_LIBRARY_PATH的值为/opt/dmdbms/bin,用于指定共享库的搜索路径。
-e INSTANCE_NAME=dm8_01: 设置环境变量INSTANCE_NAME的值为"dm8_01"。
-v /Users/mac/Documents/tool/dm/data/dm8_01:/opt/dmdbms/data: 将主机的/Users/mac/Documents/tool/dm/data/dm8_01目录挂载到容器的/opt/dmdbms/data目录,用于在主机和容器之间共享数据。
dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4: 启动容器时使用的镜像名称。
过程中可能会遇到报错:

Error response from daemon: Conflict. The container name "/dm8_01" is already in use by container "0112778b91cf7f29ea11029986449f20f3e9920e2cec100aadbed64c480e415b". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help'

这个错误是说在你的Docker环境中,已经存在一个名称为"dm8_01"的容器,并且处于运行状态。

停止并删除现有容器:

docker stop dm8_01
docker rm dm8_01

 Error response from daemon: Mounts denied: The path /data/dm8_01 is not shared from the host and is not known to Docker. You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing. See https://docs.docker.com/desktop/mac for more info.

这个错误是应该是因为本地映射目录配置有问题,Docker无法将主机的/data/dm8_01(这个是最早我测试的目录)目录挂载到容器的/opt/dmdbms/data目录,因为该目录没有被共享给Docker。

解决需要在你本地配置一个目录来跟dm的/opt/dmdbms/data做映射关联。

 容器启动完成后,使用 docker ps 查看镜像的启动情况

image.png

 启动完成后,可通过日志检查启动情况,命令如下:

docker logs -f dm8_01 或 docker logs -f 58deb28d1209

 4、测试连接

镜像默认用户名/密码为: SYSDBA/SYSDBA001

5、常用命令

这个结合docker desktop启停应该很方便,也附上几个命令

进入容器

docker exec -it dm8_01 bash

切换到/opt/dmdbms/bin目录

cd /opt/dmdbms/bin

执行登录命令

./disql SYSDBA/SYSDBA001

停止数据库命令如下:

docker stop dm8_01

启动数据库命令如下:

docker start dm8_01

重启命令如下:

docker restart dm8_01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值