Docker-DB2的使用方法

第一步:下载镜像 

docker pull ibmcom/db2express-c:latest

备注:docker  images -a 可以查看已安装镜像;

第二步:启动镜像 

docker run -d --name db2 -p 50000:50000 -e DB2INST1_PASSWORD=[数据库密码] -e LICENSE=accept ibmcom/db2express-c:latest db2start

参数解释:

1.-p 50000:50000 允许远程的客户端可以从50000 端口连接到数据库实例(端口映射,格式为:主机(宿主)端口:容器端口).

2.-d: 后台运行容器,并返回容器ID;

4.--name="db2 ": 为容器指定一个名称;
5.通过指定 -e DB2INST1_PASSWORD=[数据库密码] 参数, 你可以为缺省的Db2实例用户db2inst1设置密码.
6.通过指定-e LICENSE=accept参数, 表示你接受了使用Db2软件的许可证协议.

[root@izwz9id0dphnuy2q3l6rdoz ~]# docker run -d --name db2 -p 50000:50000 -e DB2INST1_PASSWORD=wyPwd -e LICENSE=accept ibmcom/db2express-c:latest db2start
8d9b3b2a34f45f76eeace05ab158da68a721dbd2fdf4ac689f0aec0a2c0b4d1e
[root@izwz9id0dphnuy2q3l6rdoz ~]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                              NAMES
8d9b3b2a34f4        ibmcom/db2express-c:latest   "/entrypoint.sh db..."   4 seconds ago       Up 3 seconds        22/tcp, 0.0.0.0:50000->50000/tcp   db2
[root@izwz9id0dphnuy2q3l6rdoz ~]# netstat -lnp | grep 50000
tcp6       0      0 :::50000                :::*                    LISTEN      16178/docker-proxy- 
[root@izwz9id0dphnuy2q3l6rdoz ~]# docker exec -it db2 /bin/bash
[root@8d9b3b2a34f4 /]# su db2inst1
[db2inst1@8d9b3b2a34f4 /]$ db2 create db db2Tansun using codeset UTF-8 territory CN
SQL1001N  "db2Tansun" is not a valid database name.  SQLSTATE=2E000
[db2inst1@8d9b3b2a34f4 /]$ whoami
db2inst1
[db2inst1@8d9b3b2a34f4 /]$ db2 create db test111 using codeset UTF-8 territory CN
DB20000I  The CREATE DATABASE command completed successfully.

第三步:进入镜像 并切换用户

docker exec -it db2 /bin/bash

备注:

1.docker exec :在运行的容器中执行命令

2.-t :分配一个伪终端

3.db2 是容器的名称

切换用户:su db2inst1

第四步:创建数据库 

db2 create database AUDIT using codeset GBK territory cn

[db2inst1@8d9b3b2a34f4 /]$ db2start
SQL1026N  The database manager is already active.
[db2inst1@8d9b3b2a34f4 /]$ db2 create database AUDIT using codeset GBK territory cn
DB20000I  The CREATE DATABASE command completed successfully.
[db2inst1@8d9b3b2a34f4 /]$  db2 connect to AUDIT

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.5
 SQL authorization ID   = DB2INST1
 Local database alias   = AUDIT

第五步:DBeaver工具可以连接DB2数据库 
用户名: db2inst1 
数据库名: AUDIT
密码:[数据库密码]

端口:5000

第六步:给数据库创建数据库管理员(只要执行6个命令)

命令解释:

a. 进入镜像 

docker exec -it db2 /bin/bash

b.在镜像里面 添加用户 

useradd -g users -d /home/mtdb2dev -s /bin/bash -m mtdb2dev

c.修改用户密码

 

passwd mtdb2dev

d.切换到 db2inst1用户

su db2inst1

e.链接目标数据库 

db2 connect to mtdb2DB

f.给数据库授权用户 

db2 grant dbadm on database to user mtdb2dev
[root@iZwz9f8tlwa63jzf3cc38xZ /]# docker exec -it db2 /bin/bash
[root@7e548a00f585 /]# useradd -g users -d /home/mtdb2dev -s /bin/bash -m mtdb2dev
[root@7e548a00f585 /]# passwd mtdb2dev
Changing password for user mtdb2dev.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@7e548a00f585 /]# su db2inst1
[db2inst1@7e548a00f585 /]$  db2 connect to mtdb2DB

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.5
 SQL authorization ID   = DB2INST1
 Local database alias   = MTDB2DB

[db2inst1@7e548a00f585 /]$ db2 grant dbadm on database to user mtdb2dev
DB20000I  The SQL command completed successfully.

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是部署三个WordPress的docker-compose.yml脚本: ```yaml version: '3' services: db1: image: mysql:5.7 volumes: - db1-data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: wordpress1 MYSQL_USER: wordpress1 MYSQL_PASSWORD: password wordpress1: depends_on: - "8001:80" restart: always environment: WORDPRESS_DB_HOST: db1:3306 WORDPRESS_DB_NAME: wordpress1 WORDPRESS_DB_USER: wordpress1 WORDPRESS_DB_PASSWORD: password volumes: - wp1-data:/var/www/html db2: image: mysql:5.7 volumes: - db2-data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: wordpress2 MYSQL_USER: wordpress2 MYSQL_PASSWORD: password wordpress2: depends_on: - "8002:80" restart: always environment: WORDPRESS_DB_HOST: db2:3306 WORDPRESS_DB_NAME: wordpress2 WORDPRESS_DB_USER: wordpress2 WORDPRESS_DB_PASSWORD: password volumes: - wp2-data:/var/www/html db3: image: mysql:5.7 volumes: - db3-data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: wordpress3 MYSQL_USER: wordpress3 MYSQL_PASSWORD: password wordpress3: depends_on: - "8003:80" restart: always environment: WORDPRESS_DB_HOST: db3:3306 WORDPRESS_DB_NAME: wordpress3 WORDPRESS_DB_USER: wordpress3 WORDPRESS_DB_PASSWORD: password volumes: - wp3-data:/var/www/html volumes: db1-data: wp1-data: db2-data: wp2-data: db3-data: wp3-data: ``` 以上的脚本通过Docker Compose来部署三个WordPress实例,每个实例都有一个MySQL数据库进行支持,并且每个实例的端口都不同(8001、8002和8003)。在使用时,可以将上面的脚本保存为docker-compose.yml文件,然后在该文件所在目录执行 `docker-compose up -d` 命令即可启动三个WordPress实例。注意需要提前安装好Docker和Docker Compose。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值