麒麟系统重启后 启动docker中的达梦数据库

在麒麟系统重启后 启动docker中的达梦数据库

检查 docker 服务是否已启动 

sudo systemctl status docker

image

 若未启动则手动启动

sudo systemctl start docker       # 启动
sudo systemctl enable docker      # 设置开机自启
sudo systemctl restart docker     #重启docker

查看 docker 镜像和容器

# 列出本地所有镜像
docker images

# 列出所有运行中的容器
docker ps

# 列出所有容器(包括已停止的)
docker ps -a

image

image

 说明的 dm8 的容器 但没有运行

启动docker容器

# 启动/停止/重启容器
docker start <容器ID>
docker stop <容器ID>
docker restart <容器ID>
# 删除容器
docker rm <容器ID>
# 强制删除运行中的容器
docker rm -f <容器ID>

执行启动  dm8 容器 

docker start dm8

image

查看dm8 容器状态

docker ps -a | grep dm8

查看所有容器状态,包括停止的

docker ps -a

image

使用 disql 连接数据库 

先进入容器

docker exec -it dm8 /bin/bash

进入目录

cd /opt/dmdbms/bin

连接数据库命令

./disql 'SYSDBA/Dameng123!@localhost:5236'

image

SELECT * FROM v$version;   # 查看数据库版本
SELECT USER;    #  查看当前用户
EXIT;    #  退出

image

退出docker

EXIT;    #  退出docker

image

 用DBeaver连接

image

如果连接时出现 连接超时 ,则有可能是 麒麟系统的防火墙 开启了,最简单的方法是关闭防火墙

#查看防火墙状态
sudo systemctl status firewalld    #检查 firewalld 是否运行
#
sudo systemctl status ufw          #检查 ufw 是否运行 (部分系统适用)

#临时停止防火墙
sudo systemctl stop firewalld      #停止 firewalld,重启后失效
#
sudo service ufw stop                #停止 ufw,重启后失效 (部分系统适用)

#永久禁用防火墙    
sudo systemctl disable firewalld    #禁止 firewalld 开机启动
#
sudo service ufw disable    #禁止 ufw 开机启动 (部分系统适用)

#清空IPv4规则    
sudo iptables -F             #清空所有IPv4防火墙规则 (临时措施)
#启用防火墙    
sudo systemctl enable --now firewalld    #启用并立即启动 firewalld

image

 通常关闭防火墙后,再用DBeaver连接,就能连接上了。

 因为用DBeaver连接 是远端连接 受 网络和防火墙 的影响。 

 启动docker容器时遇到的常见问题

一、防火墙关闭后需要重启docker服务

image

这个错误表明 Docker 在尝试启动容器 dm8 时,无法正确配置网络规则,特别是 iptables 的 NAT(网络地址转换) 规则出了问题。

这通常与宿主机的防火墙(iptables)状态有关。

第一步 重启docker服务

sudo systemctl restart docker    #重启docker

第二步 再次启动容器

docker start dm8    #启动名为 dm8 的容器

查看正在运行的容器

docker ps    #查看正在运行的容器

image

 

posted @ 2025-08-08 10:14  海乐学习  阅读(37)  评论(0)    收藏  举报