概况:以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. Django商城项目笔记No.4用户部分-注册接口-图片验证码

    Django商城项目笔记No.4用户部分-注册接口-图片验证码 1.首先分析注册业务接口 1.1.分析可得,至少这么几个接口 图片验证码 短信验证码 用户名是否存在 手机号是否存在 整体注册接口 图片 ...

  2. [BUG]自己的bug自己解,记一次在变量使用过程引发的bug

    [实现的功能要求]在短信编辑界面,将所有的emoji表情全部插入到编辑区域,其中表情共有5页,每遍历完一页时需要自动翻页重新获取表情并插入,在第5页中只有10个表情 下面先看看这段代码,大家能否看出有 ...

  3. 6.Solr4.10.3API使用(CURD)

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.在工程中引入solr-solrj-4.10.3.jar <dependency> <gr ...

  4. 如何弹出QQ临时对话框实现不添加好友在线交谈效果

    如何不添加好友弹出QQ临时对话框实现在线交谈效果,这样的一个需求,我们真的是太需要了,实现起来也很简单,一行代码即可搞定,需要的朋友可以参考下 其实这个很简单,在img我们加入一个a标签,然后 < ...

  5. C# ActiveX 网页打包验证自动升级

    原文地址:http://www.cnblogs.com/yilin/p/csharp-activex.html 注意事项:Win10下需要设置兼容模式,F12仿真切换到IE6-8(版本参考——BT90 ...

  6. Spark项目之电商用户行为分析大数据平台之(九)表的设计

    一.概述 数据设计,往往包含两个环节: 第一个:就是我们的上游数据,就是数据调研环节看到的项目基于的基础数据,是否要针对其开发一些Hive ETL,对数据进行进一步的处理和转换,从而让我们能够更加方便 ...

  7. 8、JVM--虚拟机字节码执行引擎

    8.1.概述 执行引擎是Java虚拟机最核心的组成部分之一.“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器.硬件.指令集和操作系统层面上 ...

  8. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面 ...

  9. scapy学习笔记(1)

    转载请注明:小五义 http://www.cnblogs.com/xiaowuyi scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网 ...

  10. C. Greedy Arkady

    kk people want to split nn candies between them. Each candy should be given to exactly one of them o ...