精华内容
下载资源
问答
  • Linux安装Docker环境,并在Docker容器中安装MySQL,Redis等环境 第一步: 进入Docker官网,点击指定的Linux环境,我这里是CentOS,首先检查删除之前旧版本的Docker 官网网址: ...

    Linux安装Docker环境,并在Docker容器中安装MySQL,Redis等环境

    第一步: 进入Docker官网,点击指定的Linux环境,我这里是CentOS,首先检查删除之前旧版本的Docker

     官网网址: https://docs.docker.com/engine/install/centos/
     检查删除命令:
     $sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    

    第二步: 安装Docker依赖的一些依赖的包

     $sudo yum install -y yum-utils
     $sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    第三步: 安装docker-ce docker-ce-cli containerd.io

    sudo yum install docker-ce docker-ce-cli containerd.io 
    

    第四步:启动Docker

    sudo systemctl start docker
    

    第五步: 我们可以进行docker的检查

    此时我们可以检查一下Docker的版本信息 docker -v
    sudo docker images 检查docker里面存在的镜像
    设置开机自启动
    sudo systemctl enable docker
    

    第六步: 设置Docker阿里云镜像加速

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://9biurf3b.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Docker常见命令

    //停止容器
    docker stop 容器ID
    //删除容器
    docker ps -a  查看已经停止的容器
    docker rm 容器ID
    //删除容器镜像
    docker rmi 容器ID
    //列出启动的容器
    docker ps
    //列出已经停止的容器
    docker ps -a
    //列出所有下载的镜像
    docker images
    //重启docker
    systemctl restart docker
    

    使用Docker安装MySql环境

    //安装MySQL环境: 
    sudo docker pull mysql:5.7
    //进行mysql的docker和linux的绑定[docker容器挂载和端口映射]
    sudo docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    //安装完毕以后检查MySql: 
    sudo docker images
    docker ps
    
    //修改linux挂载的mysql配置文件
    vim /mydata/mysql/conf/my.cnf
    
    [client]
    default-character-set=utf8
    
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
    //然后重启mysql
    docker restart mysql
    //此时mysql已经安装完毕,我们可以去docker容器中的mysql的my.cnf文件[cd /etc/mysql]中查看是否和linux中我们修改的文件保持一致
    //进入mysql容器内部命令
    docker exec -it mysql /bin/bash
    //设置mysql开机自启动
    sudo docker update mysql --restart=always
    

    使用Docker安装Redis环境

    //第一步,下载最近的镜像文件
    docker pull redis
    //第二步,创建实例并启动
    mkdir -p /mydata/redis/conf
    touch /mydata/redis/conf/redis.conf
    
    docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
    -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf
    
    /进入redis
    docker exec -it redis redis-cli
    //修改redis配置文件,进行持久化设置
    cd /mydata/redis/conf
    vim redis.conf
    添加 appendonly yes
    然后重启redis
    docker restart redis
    至此我们的redis已经安装完毕...
    

    设置docker中mysql和redis自启动

    sudo docker update redis --restart=always
    

    使用Docker安装Nginx环境

    # 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
    docker run -p 80:80 --name nginx -d nginx:1.10
    
    cd /mydata/nginx
    docker container cp nginx:/etc/nginx .
    然后在外部 /mydata/nginx/nginx 有了一堆文件
    mv /mydata/nginx/nginx /mydata/nginx/conf
        
    # 停掉nginx
    docker stop nginx
    docker rm nginx
    
    # 创建新的nginx
    docker run -p 80:80 --name nginx \
    -v /mydata/nginx/html:/usr/share/nginx/html \
    -v /mydata/nginx/logs:/var/log/nginx \
    -v /mydata/nginx/conf:/etc/nginx \
    -d nginx:1.10
    
    # 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/html
    # 设置nginx自启动
    docker update nginx --restart=always
    
    展开全文
  • Docker教程-Linux版 注意事项 以Linux-Centos7例: 1.如果您不熟悉docker,请参考如下链接,或参考百度 https://www.marsbigdata.com/community/details?id=11531140003328 2.所有的命名方式以及文件目录,请严格...

    错误修复写在前,怕忘了

    2020-10-21 03:35:28.323894: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
    2020-10-21 03:35:28.398097: F tensorflow/python/lib/core/bfloat16.cc:705] Check failed: PyBfloat16_Type.tp_base != nullptr 
    

    到时再改吧,目前线本地跑跑看

    更改docker 储存的地方 (<,>)这个部分先不用看,部署完docker,等用到的时候就会来看了,直接从 1.安装命令开始吧!!!

    如果自己的磁盘被顶掉了,可能是添加的docker路径引起的,只要删掉就好了

    独立的问题 
    ubuntu 修改docker镜像位置:
    1.cd /etc/systemd/system/multi-user.target.wants
    2.sudo gedit docker.service
    3.ExecStart=/usr/bin/dockerd --graph=/media/astonmatin/datasets/docker -H fd:// --containerd=/run/containerd/containerd.sock
    4.systemctl daemon-reload
    5.systemctl restart docker
    

    Docker教程-Linux版

    注意事项
    以Linux-Centos7例:

    1.如果您不熟悉docker,请参考如下链接,或参考百度

    https://www.marsbigdata.com/community/details?id=11531140003328

    2.所有的命名方式以及文件目录,请严格按照要求进行命名及构建目录(以下仅是docker使用的示例)

    1.安装命令

    >>> yum install docker
    

    在这里插入图片描述在这里插入图片描述

    2.安装成功查看Docker启动版本

    >>> docker -v
    

    在这里插入图片描述

    3.启动docker

    >>> service docker start
    

    在这里插入图片描述

    也可以设置开机启动docker 命令:systemctl enable docker

    4.创建一个新的文件夹并进入到文件夹下(任意位置)

    >>> mkdir docker
    >>> cd docker
    

    在这里插入图片描述

    5.将代码移动到docker文件夹下并查看

    >>> ls
    

    在这里插入图片描述

    6.生成项目依赖

    1、安装pipreqs,它可以实现只导出当前项目运行所依赖的包,环境中多余的库就不会导出,在迁移环境时候很少方便。

    pip3 install pipreqs
    

    2、进入项目的根目录然后执行下面命令,等待一会就会生成一个requirements.txt文件,里面是项目所依赖的所有库包:

    pipreqs ./ --encoding=utf-8
    

    3、在同级路径下可以看到生成的requirements.txt文件,查看文件类似下面的:

    requirements.txt

    matplotlib>=3.2.2
    numpy>=1.18.5
    opencv-python>=4.1.2
    pillow
    PyYAML>=5.3
    scipy>=1.4.1
    tensorboard>=2.2
    torch>=1.6.0
    torchvision>=0.7.0
    tqdm>=4.41.0
    

    7.编写dockerfile

    >>> vim dockerfiler
    

    在这里插入图片描述
    编写示例:

    由于基础镜像中将cuda10.0升级为10.1,请选手在构建镜像时,先将之前构建的基础镜像删除重新构建

    # 拉取基础镜像,基础镜像基于cuda10.1,基础镜像种已经包含了python3 ,pip3
    FROM swr.cn-east-3.myhuaweicloud.com/algorithm-seed/algorithm-base
    # 2、执行创建 project文件夹
    RUN mkdir /project     //project 指的是当前目录下的代码
    # 3、下面这段命令指的是 将你的代码 放到你构建的镜像 的 project目录下
    copy project /project
    # 4、由于基础镜像无法覆盖选手代码项目中的全部依赖,所以选手需要将上面执行得到的requirement.txt执行,安装其它依赖
    # 4.1、进入到存放requirements.txt 的目录
    WORKDIR /project/
    # 4.2、执行下载requirements.txt中的依赖
    RUN pip3 install -r requirements.txt
    # 5、cd 到project主程序目录下
    WORKDIR /project/code
    # 6、指定容器运行时的动作
    CMD ["python","main.py"]
    
    >>> cat dockerfile查看dockerfile
    

    在这里插入图片描述

    8.构建镜像

    >>> docker build -t test .
    

    创建镜像(注:-t 表示为该镜像起名称,另外,构建命令后面有个英文实心点,表示当前目录。)

    开始构建:

    test 指镜像名,这里只做示例,选手请根据要求名称构建镜像

    指当前目录下(dockerfile)

    在这里插入图片描述
    在这里插入图片描述
    构建成功:
    在这里插入图片描述

    9.成功之后运查看镜像

    >>>docker images
    

    在这里插入图片描述

    10.运行镜像

    >>> docker run test
    

    在这里插入图片描述
    启动方式这里只做示例

    11.导出镜像

    请注意:一定要使用 docker save 命令来导出镜像

    >>> docker save -o 要保存的文件名 要保存的镜像
    

    或者

    >>> docker save -o 要保存的文件名 IMAGE ID
    

    (文件过大,需要等待一段时间)
    在这里插入图片描述

    12.使用Xftp等工具、方法将test.tar导出,提交test.tar

    在这里插入图片描述




    安装nvidia-docker (虽迟但到)

    # If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
    docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
    sudo apt-get purge -y nvidia-docker
    
    # Add the package repositories
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
      sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
      sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    sudo apt-get update
    
    # Install nvidia-docker2 and reload the Docker daemon configuration
    sudo apt-get install -y nvidia-docker2
    sudo pkill -SIGHUP dockerd
    
    # (插入一条)设置默认运行时后,重新启动Docker守护程序以完成安装:
    sudo systemctl restart docker
    
    # Test nvidia-smi with the latest official CUDA image
    docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
    
    1. 删除容器
      使用如下命令可以查看当前正在运行的容器
    docker ps
    

    对于已退出的容器,可以使用如下命令进行查看:

    docker ps -a
    

    删除docker中的容器可以使用如下命令:

    docker rm 容器id
    
    1. 删除镜像
      删除docker中的镜像,我们可以使用如下命令:
    docker rmi 镜像id
    

    Docker使用说明

    1.Docker下载

    1.1官网

    docker官网:http://www.docker.com
    docker中文网站:https://www.docker-cn.com/
    

    1.2仓库

    Docker镜像库:

    Docker Hub官网: https://hub.docker.com/
    
    国内镜像:
    https://hub.daocloud.io/
    

    2.Docker安装

    2.1环境说明

    官方建议使用CentOS 7及以上

    2.2安装Docker

    安装命令:
    yum install docker
    
    查看Docker启动版本
    docker -v
    
    启动docker:service docker start
    停止docker:service docker stop
    重启docker:service docker restart
    查看docker状态:service docker status
    
    开机启动:systemctl enable docker
    查看docker概要信息:docker info
    查看docker帮助文档:docker --help
    

    3.Docker镜像

    3.1镜像常用命令

    列出docker下的所有镜像:docker images
    
    搜索镜像 eg:docker search python
    
    拉取镜像:docker pull XXXX
    
    查看所有正在运行容器: docker ps
    停止正在运行的容器: docker stop containerId // containerId 是容器的ID
    
    查询所有容器: docker ps -a
    查看所有容器ID docker ps -a -q
    
    启动所有停止的容器: docker start $(docker ps -a -q) 
    停止所有容器: docker stop $(docker ps -a -q)
    删除所有容器: docker rm $(docker ps -a -q) 
      
    镜像打tag:       docker tag 当前镜像名:TAG 仓库地址/镜像名称:TAG
    镜像上传仓库:     docker push仓库地址/镜像名称:TAG
    进入容器:        docker exec -it [containerId] /bin/sh
    执行命令:        docker exec [containerId] -it [command]
    容器控制台日志:   docker logs -f [containerId]
    
    复制文件至容器:   docker cp /目录/文件名 容器ID:容器目录
    复制容器文件至本地:docker cp 容器ID:文件路径 本地路径
    

    3.2删除镜像

    docker rmi -f 镜像ID
    

    4.Docker容器操作

    查看正在运行容器: 	docker ps
    查看所有的容器:	docker ps -a
    查看停止的容器: 	docker ps -f status=exited
    重启容器: 		docker restart 容器ID或者容器名
    强制停止容器: 	docker kill 容器ID或者容器名
    文件拷贝: 		docker cp 需要拷贝的文件或目录 容器名称:容器目录
    删除指定的容器: docker rm 容器ID或者容器名
    删除所有容器:	  docker rm docker ps -a -q
    
    进入容器:docker exec -it 容器ID bash
    

    5.DockerFile 示例 ★

    当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
    1.从已经创建的容器中更新镜像,并且提交这个镜像 
    2.使用 Dockerfile 指令来创建一个新的镜像
    
    Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。DockerFile是描述镜像的一种文件!
    
     Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
    

    5.1Dockerfile常用指令

    指令描述指令描述
    FROM构造的新镜像是基于哪个镜像例如:FROM centos:v1COPY拷贝文件或者目录到镜像,用法同ADD例如:COPY ./startup.sh /startup.sh
    MAINTAINER维护者信息例如:MAINTAINER yanglinENTRYPOINT运行容器时执行的shell命令例如:ENTRYPOINT ["/bin/bash","-c","/startup.sh"]ENTRYPOINT /bin/bash -c ‘/startup.sh’
    RUN构建镜像时运行的shell命令例如:RUN [“yum”, “install”, “http”]RUN yum install httpdVOLUME指定容器挂载点到宿主机自动生成的目录或者其他容器例如:VOLUME ["/path/to/dir"]
    CMD运行容器时执行的shell命令例如:CMD ["-c","/startup.sh"]CMD ["/usr/sbin/sshd","-D"]CMD /usr/sbin/sshd -DUSER为RUN,CMD,ENTRYPOINT执行命令指定运行用户例如:USER www镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。
    EXPOSE指定于外界交互的端口,即容器在运行时监听的端口EXPOSE 8081 8082WORKDIR为RUN,CMD,ENTRYPOINT,COPY和ADD设置工作目录例如:WORKDIR /data
    ENV设置容器内环境变量例如:ENV MYSQL_ROOT_PASSWORD 123456HEALTHCHECK健康检查HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/
    ADD拷贝文件或者目录到镜像,如果是URL或者压缩包会自动下载或者自动解压例如:ADD hom* /mydir/ ADD test relativeDir/ARG在构建镜像时指定一些参数例如:FROM centos:6ARG age=100

    形象说明:

    FROM它的妈妈是谁(基础镜像)
    MAINTAINER告诉别人,你创造了它(维护者信息)
    RUN你想让它干啥(把命令前面加上RUN
    ADD往它肚子里放点东西(COPY文件,会自动解压)
    WORKDIR我是cd(当前工作目录)
    VOLUME给我一个存放行李的地方(目录挂载)
    EXPOSE我要打开的门是啥(端口)
    RUN奔跑吧

    5.2 构建步骤

    编写Dockerfile文件 -----> 编写DockerFile文件
    docker build      -----> 构建镜像
    docker run        -----> 使用镜像启动容器
    
    DockerFile就是镜像的描述文件
    

    5.3 dockfile

    FROM swr.cn-east-3.myhuaweicloud.com/algorithm-seed/algorithm-base
    
    RUN mkdir /app
    
    copy quartz.py /app
    
    WORKDIR /app
    
    CMD ["python","quartz.py"]
    

    5.4 docker build

    # python-test-1 镜像名    . 当前目录
    docker build -t python-test-1 .
    

    5.5 docker run

    运行镜像
    docker run -d --name=python-test-1 python-test-1
    

    5.6.镜像导出

    # 例如: docker save -o 要保存的文件名 要保存的镜像
    docker save -o python-test.tar python-test-1
    

    知乎 https://www.marsbigdata.com/competition/details?id=11973974199808

    展开全文
  • 达梦 DM8 数据库安装详细手册(Windows+Linux+Docker

    千次阅读 多人点赞 2021-08-29 10:12:46
    达梦 DM8 数据库安装详细手册(Windows+Linux+Docker

    🌲 前言

    对于常年占据国产数据库排行榜前三的 达梦 数据库,早已 “垂涎a已久” (¯﹃¯)!


    要想学习一门数据库技术,第一步当然是要安装数据库,然后才能学习使用它,顺便记录下作者的安装初体验!❤️

    💬 介绍

    达梦数据库管理系统(以下简称DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:

    • Windows(Windows2000/2003/XP/Vista/7/8/10/Server等)
    • Linux
    • HP-UNIX
    • Solaris
    • FreeBSD
    • AIX

    对于不同的系统平台,有不同的安装步骤。

    根据不同的应用需求与配置,DM提供了多种不同的产品系列:

    • 标准版Standard Edition
    • 企业版Enterprise Edition
    • 安全版Security Edition

    相较于 Oracle 的全英文官方文档来说,达梦的官方文档就显得亲切多了,一眼看去就很喜欢!❤️

    作为一款热门的国产数据库,对于平台的支持必然是广泛的。下面👇🏻列出一些安装部署基础要求:

    名称要求
    CPUIntel Pentium4(建议Pentium 41.6G以上)处理器
    内存256M(建议512M以上)
    硬盘5G以上可用空间
    网卡10M以上支持TCP/IP协议的网卡
    操作系统Windows(简体中文服务器版sp2以上)/Linux(glibc2.3以上,内核2.6,已安装KDE/GNOME桌面环境,建议预先安装UnixODBC组件)

    💦 安装介质下载

    🔥 达梦8安装包

    达梦官方提供的最新版本为DM8,可以直接下载:

    达梦8的数据库安装介质下载地址:https://eco.dameng.com/download

    💥 Centos7 box

    Linux操作系统我选择的是 centos7,打算使用 vagrant 进行安装:

    centos7 box镜像下载地址:https://app.vagrantup.com/luciferliu/boxes/centos7.9

    至此,安装介质都准备好了!

    🏆 Linux 下 DM 的安装

    操作系统CPU数据库
    CentOS7x86_64 架构dm8_20210630_x86_rh6_64_ent

    🍭 Centos7 环境安装

    vagrant 启动 centos7

    进入自定义目录启动主机:

    mkdir -p /Volumes/DBA/dm8
    cd /Volumes/DBA/dm8
    ## vagrant 初始化
    vagrant init luciferliu/centos7.9
    ## vagrant 创建并启动主机
    vagrant up
    

    如上图所示,Centos7.9 的主机就已经启动了,下面我们连接并且上传 DM8 安装包。

    上传安装介质

    将 DM8 安装包拷贝到当前 /Volumes/DBA/dm8 目录下,使用 vagrant ssh 连接主机:

    ## 拷贝 DM 安装包
    cd /Volumes/DBA/dm8
    cp /Users/lpc/Downloads/dm8_20210630_x86_rh6_64_ent.zip .
    

    初始化配置

    ## 连接主机
    vagrant ssh
    ## 修改 root 用户密码,密码为 dm
    echo dm | sudo passwd --stdin root
    ## 切换至 root 用户
    su - root
    ## 修改主机名
    hostnamectl set-hostname dm8 && exec bash
    ## 配置时区
    timedatectl set-timezone Asia/Shanghai
    ## 配置系统中文
    echo 'export LANG=zh_CN.UTF-8' >> /etc/profile
    ## 创建 DM 软件包目录
    mkdir /soft
    ## 拷贝 DM 安装包至软件包目录
    cp /vagrant/dm8_20210630_x86_rh6_64_ent.zip /soft
    ## 安装 unzip 和 lsb_release
    yum install -y unzip lsb*
    ## 解压 DM 安装包
    cd /soft
    unzip dm8_20210630_x86_rh6_64_ent.zip
    

    如上图所示,DM8 安装包已解压至至主机 /soft 目录下。

    🍰 安装前准备

    用户在安装DM之前需要检查或修改操作系统的配置,以保证 DM 正确安装和运行。

    检查Linux(Unix)系统信息

    ## 获取系统位数
    getconf LONG_BIT
    ## 查询操作系统release信息
    lsb_release -a
    ## 查询系统信息
    cat /etc/issue
    ## 查询系统名称
    uname -a
    

    创建安装用户

    为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。

    ## 创建 dinstall 组
    groupadd -g 12349 dinstall
    ## 创建 dmdba 用户
    useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
    ## 修改 dmdba 用户密码
    echo dmdba | passwd --stdin dmdba
    

    创建安装目录及授权

    mkdir /dm
    mkdir -p /dm{arch,bak,data}
    chown -R dmdba.dinstall /dm /soft /dmdata /dmarch /dmbak
    chmod -R 775 /dm{arch,bak,data} /dm
    

    关闭防火墙和Selinux

    ## 关闭防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    ## 关闭selinux
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    

    关闭透明大页和numa

    Linux6:

    cat >>/etc/rc.d/rc.local <<EOF
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi
    

    Linux7:

    sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

    配置系统参数

    cat <<EOF >>/etc/sysctl.conf
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    #kernel.shmall = 2097152
    #kernel.shmmax = 536870912
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    vm.swappiness = 0
    vm.dirty_background_ratio = 3
    vm.dirty_ratio = 80
    vm.dirty_expire_centisecs = 500
    vm.dirty_writeback_centisecs = 100
    EOF
    ## 激活参数配置
    sysctl -p
    

    配置操作系统限制

    在Linux(Unix)系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制。为了使DM能够正常运行,建议用户检查当前安装用户的ulimit参数。

    ## 配置pam.d
    cat <<EOF >>/etc/pam.d/login
    session required pam_limits.so 
    session required /lib64/security/pam_limits.so
    EOF
    ## 查看 pam.d
    cat /etc/pam.d/login | grep -v "^$" | grep -v "^#"
    ## 查看操作系统资源限制
    ulimit -a
    ## 解除 nice,as fsize,nproc,nofile,core,data 限制
    cat <<EOF>>/etc/security/limits.conf
    dmdba - nice   0     
    dmdba - as     unlimited
    dmdba - fsize  unlimited
    dmdba - nproc  131072
    dmdba - nofile 131072
    dmdba - core   unlimited
    dmdba - data   unlimited
    root  - nice   0     
    root  - as     unlimited
    root  - fsize  unlimited
    root  - nproc  131072
    root  - nofile 131072
    root  - core   unlimited
    root  - data   unlimited
    EOF
    ## 检查配置文件
    cat /etc/security/limits.conf | grep -v "^$" | grep -v "^#"
    ## 查看 dmdba 用户的资源限制
    su - dmdba -c "ulimit -a"
    

    检查系统内存

    为了保证DM的正确安装和运行,要尽量保证操作系统至少1GB的可用内存(RAM)。如果可用内存过少,可能导致DM安装或启动失败。

    ## 获取内存总大小
    grep MemTotal /proc/meminfo
    ## 获取交换分区大小
    grep SwapTotal /proc/meminfo
    ## 获取内存使用详情
    free -m
    

    检查存储空间

    DM完全安装需要1GB的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。用户在DM安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。

    ## 查询目录 /dm 可用空间
    df -h /dm
    ## /tmp目录保证1GB的存储空间
    df -h /tmp
    

    配置环境变量

    ## 配置 dmdba 环境变量
    cat <<EOF>>/home/dmdba/.bash_profile
    umask 022
    export TMP=/tmp
    export TMPDIR=\$TMP
    export DM_HOME="/dm"
    export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin"
    export PATH=/usr/sbin:\$PATH
    export PATH=\$DM_HOME/bin:\$PATH
    export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
    alias ds='disql sysdba'
    EOF
    ## 查看环境变量
    cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#"
    

    🍯 安装 DM8 数据库

    安装同时支持图形化安装,命令行安装,静默安装三种方式。由于我没有安装图形化界面,因此使用 命令行安装 方式进行安装。

    用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用root系统用户进行安装)。

    挂载 DM ISO 镜像

    官网下载的 DM8 安装包解压下来是一个 ISO 镜像文件,因此需要挂载取出安装文件,才能开始安装。

    ## 挂载 DM iso 镜像文件
    cd /soft/dm8_20210630_x86_rh6_64_ent
    mount -o loop dm8_20210630_x86_rh6_64_ent_8.1.2.18_pack7.iso /opt
    ## 拷贝安装文件至 /soft
    cp /opt/DM* /soft
    ## 取消挂载
    umount /opt
    ## 目录授权
    chown -R dmdba:dinstall /soft
    chmod -R 775 /soft
    ll /soft
    

    命令行安装

    1、执行安装命令:

    ## 切换至 dmdba 用户
    su - dmdba
    cd /soft/
    ## 执行命令行安装
    ./DMInstall.bin -i
    

    2、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。

    3、选择【1-典型安装】,按已规划的安装目录 /dm 完成数据库软件安装,不建议使用默认安装目录。

    4、root 用户执行 root 脚本:

    su - root
    /dm/script/root/root_installer.sh
    

    命令行配置实例

    使用 dmdba 用户配置实例,使用 dminit 命令初始化实例。

    su - dmdba
    ## 使用默认参数初始化实例,需要附加实例存放路径 /dmdata
    dminit path=/dmdata
    

    📢 注意:dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

    需要注意的是 页大小 (PAGE_SIZE)、簇大小 (EXTENT_SIZE)、大小写敏感 (CASE_SENSITIVE)、字符集 (CHARSET/UNICODE_FLAG)、VARCHAR类型长度(LENGTH_IN_CHAR) 这几个参数,一旦确定无法修改,需谨慎设置。

    • EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页,缺省使用 16 页。指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。
    • PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
    • CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
    • CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR];1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
    • LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0。

    以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 LUCIFER,端口为 5237。

    dminit path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=LUCIFER
    

    命令行注册服务

    注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:

    cd /dm/script/root
    ## 注册服务
    ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMDB/dm.ini -p DMSERVER
    ## 配置服务开机自启
    systemctl enable DmServiceDMSERVER.service
    ## 开启服务
    systemctl start DmServiceDMSERVER.service
    ## 查看服务状态
    systemctl status DmServiceDMSERVER.service
    

    命令行启停数据库

    服务注册成功后,启停数据库,如下所示:

    cd /dm8/bin
    ## 查看当前数据库服务状态
    systemctl status DmServiceDMSERVER.service
    ## 关闭数据库
    systemctl stop DmServiceDMSERVER.service
    ## 打开数据库
    systemctl start DmServiceDMSERVER.service
    或者
    dmserver /dmdata/DMDB/dm.ini
    ## 重启数据库
    systemctl restart DmServiceDMSERVER.service
    

    也可以通过以下命令执行:

    DmServiceDMSERVER start/stop/restart/status
    

    连接访问数据库

    disql sysdba
    

    🥈 Docker 下 DM 的安装

    🏈 安装前准备

    软硬件版本
    终端X86-64 架构
    Docker19.0 及以上版本

    🏀 下载 Docker 安装包

    ## 在根目录下创建 /dm8 文件夹,用来放置下载的 Docker 安装包。命令如下:
    mkdir -p /Volumes/DBA/dm8
    ## 切换到 /dm8 目录,下载 DM Docker 安装包。命令如下:
    cd /Volumes/DBA/dm8
    wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar
    

    ⚽️ 导入镜像

    下载完成后,导入安装包,打开 docker ,使用如下命令:

    docker import dm8_docker.tar dm8:v01
    

    导入完成后,可以使用 docker images 来查看导入的镜像,命令如下:

    docker images
    

    查看结果如下:

    ⚾️ 启动容器

    镜像导入后,使用 docker run 来启动容器,默认的端口 5236 默认的账号密码 ,启动命令如下:

    docker run -itd -p 5236:5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh
    

    容器启动完成后,使用 docker ps 来查看镜像的启动情况,命令如下:

    docker ps
    

    启动完成后,可以查看日志来查看启动情况,命令如下:

    docker logs -f dm8_01
    

    显示内容如下,则表示启动成功。

    🎾 数据库启停

    命令如下:

    docker stop/start/restart dm8_01
    

    🎱 连接 docker

    ## 获取容器 ID
    docker ps
    ## 连接容器
    docker exec -it acd3a2211b52 /bin/bash
    ## 切换 dmdba 用户
    su - dmdba
    ## 连接数据库
    cd /dm8/bin
    ./disql
    

    📢 注意:如果使用docker容器里面的 disql ,进入容器后,先执行 source /etc/profile 防止中文乱码。

    🏅 Windows 下 DM 的安装

    🍎 安装前准备

    检查系统信息

    用户在安装 DM 数据库前,需要检查当前操作系统的相关信息,确认 DM 数据库安装程序与当前操作系统匹配,以保证 DM 数据库能够正确安装和运行。

    用户可以在终端通过 Win+R 打开运行窗口,输入 cmd,打开命令行工具,输入 systeminfo 命令进行查询,如下图所示:

    检查系统内存

    为了保证 DM 数据库的正确安装和运行,要尽量保证操作系统至少 1 GB 以上的可用内存 (RAM)。如果可用内存过少,可能导致 DM 数据库安装或启动失败。

    用户可以通过【任务管理器】查看可用内存,如下图所示:

    检查存储空间

    DM 完全安装需要至少 1 GB 以上的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。

    用户在 DM 安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。

    🍉 安装 DM8 数据库

    上传安装包,解压挂载,复制出安装文件,开始安装!

    选择语言与时区

    双击运行【setup.exe】安装程序,请根据系统配置选择相应语言与时区,点击【确定】按钮继续安装。如下图所示:

    安装向导

    点击【下一步】按钮继续安装,如下图所示:

    许可证协议

    在安装和使用 DM 数据库之前,需要用户阅读并接受许可证协议,如下图所示:

    查看版本信息

    用户可以查看 DM 服务器、客户端等各组件相应的版本信息。

    验证 Key 文件环节可跳过,如果没有 Key 文件,点击【下一步】即可。

    选择安装组件

    DM 安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,此处建议选择【典型安装】,如下图所示:

    • 典型安装包括:服务器、客户端、驱动、用户手册、数据库服务。
    • 服务器安装包括:服务器、驱动、用户手册、数据库服务。
    • 客户端安装包括:客户端、驱动、用户手册。
    • 自定义安装包括:用户根据需求勾选组件,可以是服务器、客户端、驱动、用户手册、数据库服务中的任意组合。

    选择安装目录

    DM 默认安装在 C:\dmdbms 目录下,不建议使用默认目录,改为其他任意盘符即可,以 E:\dmdbs 为例,如下图所示:

    这里我只有一个 C 盘,因此直接默认安装!

    📢 注意:安装路径里的目录名由英文字母、数字和下划线等组成,不建议使用包含空格和中文字符的路径等。

    安装前小结

    显示用户即将进行的数据库安装信息,例如产品名称、版本信息、安装类型、安装目录、可用空间、可用内存等信息,用户检查无误后点击【安装】按钮进行 DM 数据库的安装,如下图所示:

    数据库安装

    安装过程需耐心等待 1~2 分钟,如下图所示:

    image.png

    数据库安装完成

    数据库安装完成后,请选择【初始化】数据库:

    🍏 配置实例

    选择操作方式

    此处建议选择【创建数据库实例】,点击【开始】进入下一步骤,如下图所示:

    创建数据库模板

    此处建议选择【一般用途】即可,如下图所示:

    选择数据库目录

    本例中数据库安装路径为 C:\dmdbs,如下图所示:

    输入数据库标识

    输入数据库名称、实例名、端口号等参数,如下图所示:

    数据库文件所在位置

    此处选择默认配置即可,如下图所示:

    用户可通过选择或输入确定数据库控制、数据库日志等文件的所在位置,并可通过右侧功能按钮,对文件进行添加或删除。

    数据库初始化参数

    此处选择默认配置即可,如下图所示:

    用户可输入数据库相关参数,如簇大小、页大小、日志文件大小、选择字符集、是否大小写敏感等。

    常见参数说明:

    • EXTENT_SIZE 数据文件使用的簇大小 (16),可选值: 16、 32、 64,单位:页
    • PAGE_SIZE 数据页大小 (8),可选值: 4、 8、 16、 32,单位: KB
    • LOG_SIZE 日志文件大小 (256),单位为: MB,范围为: 64 MB~2 GB
    • CASE_SENSITIVE 大小敏感 (Y),可选值: Y/N, 1/0
    • CHARSET/UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]

    口令管理

    此处选择默认配置即可,默认口令与登录名一致,如下图所示:

    用户可输入 SYSDBA,SYSAUDITOR 的密码,对默认口令进行更改,如果安装版本为安全版,将会增加 SYSSSO 用户的密码修改。

    选择创建示例库

    此处建议勾选创建示例库 BOOKSHOP 或 DMHR,作为测试环境,如下图所示:

    创建数据库摘要

    在安装数据库之前,将显示用户通过数据库配置工具设置的相关参数。点击【完成】进行数据库实例的初始化工作,如下图所示:

    安装完成

    安装完成后将弹出数据库相关参数及文件位置。点击【完成】即可,如下图所示:

    数据库启停

    数据库安装路径下 tool 目录,双击运行 dmservice.exe 程序可以查看到对应服务,选择【启动】或【停止】服务。如下图所示:

    当然,也可以通过 cmd 命令行进行启动:

    cd C:\dmdbms\bin
    dmserver.exe C:\dmdbms\data\DAMENG\dm.ini
    

    🎯 写在最后

    达梦8 数据库安装总体来说,还算简单。但是有一说一,官方文档确实比较简单,不够细致,有待改进!


    本次分享到此结束啦~

    如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

    ❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
    Lucifer三思而后行

    展开全文
  • linux Docker常见命令

    2020-02-22 22:26:33
    docker服务 systemctl start docker启动 systemctl status docker查看docker进程状态 sudo systemctl daemon-reload守护进程重启 systemctl restart docker重启docker服务 sudo service docker restart重启docker...

    docker服务

    systemctl start docker启动

    systemctl status docker查看docker进程状态

    sudo systemctl daemon-reload守护进程重启

    systemctl restart docker重启docker服务

    sudo service docker restart重启docker服务

    service docker stop关闭docker

    systemctl stop docker关闭docker

    /bin/systemctl stop docker.service关闭docker

    镜像

    docker images列出本地所有镜像

    docker search 镜像名称搜索相关镜像

    docker pull image_name    
    
    docker pull image_name:tag
    
    image_name:表示镜像的仓库源名称,TAG:
    镜像的标签 如果不指定tag 那么默认用最新的
    

    强制删除 如果镜像有容器在运行 那么就需要强制删除 增加 -f 参数

    docker rmi  镜像ID
    docker rmi -f  镜像ID
    

    删除全部的images; 可通过 -f 参数强制删除

    docker rmi $(docker images -q)
        
    docker rmi -f $(docker images -q)
    

    容器

    docker ps查看当前正在运行的容器

    docker ps -a查看所有容器

    docker ps -l查看最近创建的容器

    docker ps -n=XXX查看最新创建的n个容器

    docker start 容器ID/容器名称     启动容器
    docker restart 容器ID/容器名称   重启容器
    
    docker stop 容器ID/容器名称     停止容器
    docker stop $(docker ps -a -q)  停止所有的容器
    

    docker rm $(docker ps -a -q)删除所有的容器

    展开全文
  • linuxdocker

    2020-03-21 21:40:59
    Docker Docker 是一个开源的应用容器引擎, docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件就会生成一个虚拟容器。程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心...
  • 背景常见linux防火墙方式为在iptables的INPUT链,设置白名单,端口或者ipsudo iptables -L INPUT -nv --line如图所示, 防火墙对于10.199.1.26, 10.122.104.147, 10.199.1.25 三个为可通行ip, 以...
  • linux 安装docker

    2021-01-28 21:41:02
    https://developer.aliyun.com/article/753261?scm=20140722.184.2.173 常见命令: 查看容器:docker ps -a (包含启用和暂停) 查看启用容器: docker ps 进入容器:docker exec -it 容器名或者容器id /bin/sh (进入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,972
精华内容 9,588
关键字:

linux如何常见docker

linux 订阅