如何在DOCKER环境中使用Db2
前言
此问的目的是帮助用户能够在docker的环境中学习Db2,前提条件的你的服务器可以访问互联网,否则无法下载Db2镜像。Docker环境中学习Db2的优势是省去了下载产品、安装产品、初始化数据库实例这部分工作,更适合于开发人员学习Db2。
另外本文也介绍了Db2和MYSQL的常用命令区别,以便于大家同时学习两个产品。
1、列出已有的Db2镜像
-bash-4.2# docker images | grep -i db2
ibmcom/db2express-c latest 7aa154d9b73c 2 years ago 1.71 GB
2、拉Db2镜像
-bash-4.2# docker pull ibmcom/db2express-c
Using default tag: latest
latest: Pulling from ibmcom/db2express-c
a3ed95caeb02: Pull complete
aeb4552c46f2: Pull complete
67f42aa337c8: Pull complete
36add9e32b7b: Pull complete
cca79fe4efc9: Pull complete
47257c26990b: Pull complete
ffaad03725df: Pull complete
12bf772a460f: Pull complete
d7696ccb610d: Pull complete
6cf81245c65d: Pull complete
5dab63ce98e0: Pull complete
91dd2d768d97: Pull complete
e3aca141cf3e: Pull complete
Digest:sha256:6217d60b20b58e08e5189f467cfb9a08f3472cf6c3a5e5d5d91900791c709a86
Status: Downloaded newer image foribmcom/db2express-c:latest
3、启动容器:
-bash-4.2# docker run -it --network=host -p50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=acceptibmcom/db2express-c:latest bash
Changing password for user db2inst1.
New password: BAD PASSWORD: The passwordcontains the user name in some form
Retype new password: passwd: allauthentication tokens updated successfully.
- -p 50000:50000 允许远程的客户端可以从50000 端口连接到数据库实例.
- 通过指定 -e DB2INST1_PASSWORD=db2inst1-pwd 参数, 你可以为缺省的Db2实例用户db2inst1设置密码.
- 通过指定-e LICENSE=accept参数, 表示你接受了使用Db2软件的许可证协议.
4、切换到实例用户db2inst1
[root@shcallisto-25 /]# su - db2inst1
Last login: Wed May 20 21:57:28 UTC 2015
5、启动实例
[db2inst1@shcallisto-25 ~]$ db2start
SQL1063N DB2START processing was successful.
6、查看运行状态
[db2inst1@shcallisto-25 ~]$ db2pd -
Database Member 0 -- Active -- Up 0 days00:00:06 -- Date 2018-01-16-03.30.51.059168
7、查看已经创建的数据库
[db2inst1@shcallisto-25 ~]$ db2 list dbdirectory
SQL1031N The database directory cannot be found on the indicated file system.
SQLSTATE=58031
说明目前没有创建数据库
8、查看数据库和补丁版本
[db2inst1@shcallisto-25 ~