1.拉取 db2镜像
docker pull ibmoms/db2express-c
2.重命名db2镜像
docker tag ibmoms/db2express-c:latest aa.bb.cc:5000/db2:1.0.1
3.运行容器
docker run -d -it -p 50000:50000 \
-e DB2INST1_PASSWORD=hh201684 \
-e LICENSE=accept \
-v /home/toast/db2:/db2data \
--name=db2 \
--restart=always \
cloud.nnzhujing.top:5000/db2:1.0.1 \
bash
4.进入容器
docker exec -it db2 bash
5.切换用户
su - db2inst1
6.新建映射目录
chmod -R 777 /db2data
mkdir /db2data/data
mkdir /db2data/dbpath
mkdir /db2data/log
7.重新配置db2 数据、安装、日志路径
db2 "create db mydb(数据库,自己定) on /db2data/data dbpath on /db2data/dbpath using codeset utf-8 territory cn"
db2 update db cfg for mydb(数据库,自己定) using newlogpath /db2data/
db2 activate db mydb(数据库,自己定)
检查 /db2data文件夹日志是否生效,进入对应目录会有新文件
8.由于容器是静态的,所以每次重启容器之后都需要做catalog,否则无法访问数据库。
db2 catalog db mydb as tastdb on /db2data/dbpath
9.配置完成后打包容器镜像
docker commit -a "toast" -m "【这里是说明描述--可以随意】db2inst1/toastdb pwd:你们的密码" aa.bb.cc:5000/db2:1.0.2
10.可以忽略,我上传到我私有仓库
docker push aa.bb.cc:5000/db2:1.0.2
10.运行刚刚提交的新的镜像
docker run -d -it -p 50000:50000 \
-e DB2INST1_PASSWORD=hh201684 \
-e LICENSE=accept \
-v /home/toast/db2:/db2data \
--name=db2 \
--restart=always \
cloud.nnzhujing.top:5000/db2:1.0.2 \
db2start
到此db2容器自启动成功
12.查看容器运行情况
docker ps -a
以下是连接数据库验证