概况:以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. 解决Windows Server2008 R2中IE开网页时弹出阻止框

    使用Windows Server2008,用IE打开网站时会弹出“Internet Explorer增强安全配置正在阻止来自下列网站的此应用程序中的内容”的对话框.如下图所示: 2011-10-14_ ...

  2. node学习笔记_02 API详解

    一.知识点:url.parse方法 方法说明: 讲一个URL字符串转换成对象并返回. 语法:url.parse(urlStr, [parseQueryString], [slashesDenoteHo ...

  3. BZOJ1211:[HNOI2004]树的计数(组合数学,Prufer)

    Description 一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, …, dn,编程需要 ...

  4. php可逆加密解密

    函数: function encrypt($data, $key) { $prep_code = serialize($data); $block = mcrypt_get_block_size('d ...

  5. ORACLE 11GR2常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  6. spring引入properties变量报错

    通过properties配置文件配置数据源,代码如下: <bean class="org.springframework.beans.factory.config.PropertyPl ...

  7. 【转】软件质量之道:SourceMonitor

    转:https://blog.csdn.net/feng_ma_niu/article/details/40594799 SourceMonitor是一个源代码衡量工具,由http://www.cam ...

  8. HDU 1827 Summer Holiday(tarjan求强连通分量+缩点构成新图+统计入度+一点贪心思)经典缩点入门题

    Summer Holiday Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  9. 例子:照片的OCR识别

    来自ng的ml-003中 18_XVIII._Application_Example-_Photo_OCR 这是ng2013年在coursera上最后的一课了.这一系列的几个视频还是相比前面有些难懂, ...

  10. 【LeetCode9】Palindrome Number★

    题目描述: 解题思路: 求回文数,并且要求不能使用额外的空间.思路很简单,算出x的倒置数reverse,比较reverse是否和x相等就行了. Java代码: public class LeetCod ...