概况:以centos:7.2.1511镜像为基础镜像,使用docker commit方式进行构建
 
步骤:
  1. 运行centos7.2.1511镜像(以特权模式运行,后续内核参数修改必需参数)
    docker run -it --privileged centos:7.2.1511 /bin/bash
        2.拷贝db2安装包进镜像中
    docker cp v9.7_linuxx64_server.tar.gz 容器id:/usr/local
        3.镜像内操作
  • 解压安装包
    tar -xzvf v9.7_linuxx64_server.tar.gz
  • 进入解压后目录server
    cd server
  • 检查安装环境
    ./db2prereqcheck
  • 环境缺失信息
    * WARNING:
    *    The 32 bit library file libstdc++.so.6 is not found on the system.
    *    32-bit applications may be affected.  
    * ERROR:
    *    The required library file libaio.so.1 is not found on the system.
    *    Check the following web site for the up-to-date system requirements
    *    of IBM DB2 9.7
  • 解决方法
    * yum install -y libstdc++
    * yum install -y libstdc++.so.6
    * yum install -y libaio
  • 安装db2
    ./db2_install
 
    要选择另一个目录用于安装吗?[yes/no]
    --输入no默认安装opt下,选择yes自己输入安装目录
    指定下列其中一个关键字以安装 DB2 产品
    --输入ESE
    ESE
    正在初始化 DB2 安装。……
      • 出错点,共48步,安装到第41步或第36步Hangup
          Task #41 start
          Description: Starting DB2 Fault Monitor
          Estimated time 10 second(s)
          Hangup
      • PS:若47步左右出现一个小error可以忽略,不影响
      • 解决方法(修改内核参数):
        • 带--privileged运行容器,然后修改内核参数
          docker run -t -i --net=host -v /db2disk:/db2disk --privileged centos_db2ese_v1.1 /bin/bash
          vi /etc/sysctl.conf
          kernel.shmmni = 65536
          kernel.shmmax = 274877906944
          kernel.shmall = 134217728
          kernel.sem = 250 1024000 32 65536
          kernel.msgmni = 262144
          kernel.msgmax = 65536
          kernel.msgmnb = 65536
          vm.dirty_background_ratio = 5
          vm.dirty_ratio= 10
          vm.overcommit_memory= 0
          vm.swappiness= 0 #如果是redhat,建议设置为5,
          否则很有可能在内存不足时OOM killer可能会杀掉DB2进程
          执行sysctl -p使参数在线生效
          执行ipcs -l查看操作系统内核参数设置
           
          ------ Messages Limits --------
          max queues system wide = 668
          max size of message (bytes) = 8192
          default max size of queue (bytes) = 16384
           
          ------ Shared Memory Limits --------
          max number of segments = 4096
          max seg size (kbytes) = 18014398509465599
          max total shared memory (kbytes) = 18014398442373116
          min seg size (bytes) = 1
           
          ------ Semaphore Limits --------
          max number of arrays = 128
          max semaphores per array = 250
          max semaphores system wide = 32000
          max ops per semop call = 32
          semaphore max value = 32767
           
    • 查看注册信息,若出现试用期则安装成功,若出现
        /opt/ibm/db2/V9.7/adm/db2licm -l
      • 安装 license
        • db2licm -l命令可以查看到db2的license信息。可以找一个永久的license添加到db2数据库即可,把db2ese_c.lic放到一目录下: 
            /opt/ibm/db2/V9.7/license/db2ese_c.lic,在/opt/ibm/db2/V9.7/adm/目录下执行:./db2licm -a /opt/ibm/db2/V9.7/license/db2ese_c.lic
         
  • 创建实例用户
    groupadd -g 901 db2iadm1
    groupadd -g 902 db2fadm1
    groupadd -g 903 dasadm1
    useradd -g db2iadm1 -u 801 -d /home/db2inst1 -m  db2inst1
    useradd -g db2fadm1 -u 802 -d /home/db2fenc1 -m  db2fenc1
    useradd -g dasadm1 -u 803 -d /home/dasadm1 -m  dasusr1
  • 为db2inst1创建密码
    passwd db2inst1
  • 创建实例
    [root@server]#cd /opt/ibm/db2/V9.7/instance
    [root@instance]#./dascrt -u dasusr1 (创建DB2管理服务器)
    [root@instance]#./db2icrt -u db2inst1 db2inst1 (创建DB2实例)
 
  • 启动数据库实例
    [root@localhost instance]# su - db2inst1
    [db2inst1@localhost ~]$ db2start
 
  • 创建一个用于连接的数据库
    [db2inst1@localhost ~]$ db2 create database KHYX_YS using codeset GBK territory CN
 
  • 设置端口
    查看db2是否开启tcp服务
    [root@localhost db2inst1]# db2set –all
    如果没有看到如下内容:DB2COMM=TCPIP,则需要对db2进行设置
    [root@localhost db2inst1]# db2set db2COMM=TCPIP
    查看是否配置db2 Tcp服务名称:
    [root@localhost db2inst1]# db2 get dbm cfg | grep -i SVCENAME
    如果SVCENAME 没有对应的值,则需要设置DB2的TCP服务名称或端口
    [root@localhost db2inst1]# db2 update dbm cfg using svcename db2AppName(自定义名称或端口号)
    查看/etc/services中是否已经将db2的tcp服务添加到系统服务中(端口号不需要这部)
    [root@localhost db2inst1]# cat /etc/services | grep db2
    如果没有找到任何内容或者没有db2AppName相关内容,则需要在services文件中加入db2AppName   50000/tcp,其中50000为 db2 tcp服务的端口号。使用vi     /etc/services命令进入编辑器添加内容,然后ESC键 :wq保存退出编辑器。
    重启db2服务,查看db2 tcp服务监听的端口是否已经启用
    [db2inst1@localhost ~]$ db2 force application all(强制停止数据库)
    [db2inst1@localhost ~]$ db2start
    [db2inst1@localhost ~]$ netstat -na | grep 50000
 
 

Docker打DB2 9.7镜像采坑相关的更多相关文章

  1. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

  2. Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤)

    一.前言 有人问,为什么要用Jenkins,在一些中小型企业?我说下我以前开发的痛点,每次开发一个项目完成后,需要打包部署,可能没有专门的运维人员,只能开发人员去把项目打成一个war包,可能这个项目已 ...

  3. v8环境搭建采坑记录

    项目组有把js接入C++服务求的需求,故开始了v8接入的工作,用了一天多时间,v8才在centos环境上成功安装,过程中踩了很多坑,下面将采坑过程记录如下: centos下编译安装v8:   查看ce ...

  4. Docker 实战—使用 Dockerfile 构建镜像

    Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...

  5. tomcat采坑

    1. tomcat采坑 1.1. 采坑 今天又踩了个以前踩过的坑,运维系统迁移到docker,使用的tomcat版本是tomcat8,而原来的版本是tomcat7.0.53,导致的结果就是系统间请求一 ...

  6. docker安装db2数据库

    查询可安装的db2镜像 # docker search db2 [root@docker-servers ~]# docker search db2 INDEX NAME DESCRIPTION ST ...

  7. 细数阿里云在使用 Docker 过程中踩过的那些坑

    昨天下午道哥在微信上丢给我一条新闻,看看,我们阿里云支持 Docker 企业版了.我打开一看,果然,阿里云发布了飞天敏捷版,开始支持企业级的 Docker 容器. 美国中部时间4月19日,阿里云在容器 ...

  8. 我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法

    我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法 一.介绍 最近,我在写有关使用 Jenkins 搭建企业级持续集成环境的文章,准备了四台服务器,企业级别嘛,一台就 ...

  9. Tars | Win10下Docker部署TarsJava(SpringBoot)全过程及踩坑记录

    @ 目录 前言 1. 相关环境版本: 坑点一:VMware与Win10 Docker冲突 坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 2. Docker安装: 坑点三:Do ...

随机推荐

  1. [笔记] 整除分块 & 异或性质

    整除分块 参考资料:整除分块_peng-ym OI生涯中的各种数论算法的证明 公式 求:\(\sum_{i=1}^{n}\lfloor\frac{n}{i}\rfloor\) 对于每个\(\lfloo ...

  2. 【转】 android获取设备唯一标识完美解决方案

    <p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51);  ...

  3. C#启动另一个应用程序并传参数

    第一个程序: try { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "Windows ...

  4. 网络对抗技术作业一 P201421410029

    网络对抗技术作业一 14网安一区李政浩 201421410029 虚拟机 xp 虚拟机Windows xp的 ip地址 本机win10 IP xp虚拟机与主机ping Dir显示目录 Cd进入目录 A ...

  5. docker-compose运行Rails

    1.新建空目录,名字可以叫Rails 2.新建Dockerfile并添加如下内容 FROM ruby:2.5 RUN apt-get update -qq && apt-get ins ...

  6. 青岛大学开源OJ平台搭建

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  7. vue之常用指令

    事件缩写 v-on:click= 简写方式 @click= 事件对象$event <!DOCTYPE html> <html lang="en"> < ...

  8. PAT B1007 素数对猜想 (20 分)

    让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数.显然有d​1​​=1,且对于n>1有d​n​​是偶数.“素数对猜想”认为“存在无穷多对相邻且差为2的素 ...

  9. strstr(),strchr()

    strstr($a, $b)和strchr()一样,起的别名,表示查找$a中第一次出现$b,并返回字符串的剩余部分: .strrchr()从后往前查第一个出现的 直接写两行代码: <?php $ ...

  10. ORACLE SEQUENCE 具体解释

    1.    About Sequences(关于序列) 序列是数据库对象一种. 多个用户能够通过序列生成连续的数字以此来实现主键字段的自己主动.唯一增长,而且一个序列可为多列.多表同一时候使用. 序列 ...