docker DB容器化部署

一,方便快速搭建测试环境,使用docker容器对redis、mongodb、rocketMQ、mysql等服务进行容器化部署。

环境说明:

CentosOS 7.6

Docker  Server Version: 18.06.1-ce
Kernel Version: 4.18.9-1.el7.elrepo.x86_64
二,images部署
1,redis启动密码验证
docker pull redis:latest
docker run --name redis-test -p 6380:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "your passwd"
#参数说明
-p 6379:6379 :将容器内端口映射到宿主机端口(右边映射到左边) 
redis-server –appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置 
requirepass “your passwd” :设置认证密码 
–restart=always : 随docker启动而启动

#本地镜像
docker run -d --name redis -p 6379:6379  -v /data/redis/data/:/data/ 192.168.200.10/docker/redis:4 --requirepass "abc123456789"
#注意docker版本如果是最新的18.09 内核版本为3.10时,容器启动会报错,此时降低docker版本或升级内核版本均可解决。

#验证:
docker exec -it a126ec987cfe redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 'your passwd'
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> info
# Server
......

2,mongodb容器启动
#启动mongodb,开启验证
#本地image
docker run -d --name mongo -p 27017:27017 -v /data/mongo/data/:/data/ 192.168.200.10/docker/mongodb:4.0.5 --noprealloc --smallfiles --auth

#mongo 进入后,授权admin库 exit退出
db.createUser({ user: "root", pwd: "Abcd,1234", roles: [{ role: "root", db: "admin" }] })

#mongo -u root -p Abcd,1234 登录后授权im_db_v2库
db.createUser({ user: "mongoadmin", pwd: "abc123456789", roles: [ { role: "readWrite", db: "im_db_v2" }]})

#mongo Dockerfile
From docker.io/mongo:latest

MAINTAINER yourname <mail@xxx.com>

ADD localtime /etc/
三,Docker 安装 MySQL
1,查找Docker Hub上的mysql镜像
docker search mysql

2,拉取MySQL镜像
docker pull mysql

3,创建并启动mysql
docker images
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql

4,查看容器启动状态
docker ps

5,登录MySQL授权,并验证

[root@master1 ~]# docker exec -it mysql bash
root@e3740ebc6d2d:/# ls
bin  boot  dev    docker-entrypoint-initdb.d  entrypoint.sh  etc    home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@e3740ebc6d2d:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)

mysql> 


#默认权限,在投入使用前需修改权限

 四,Navicat 工具连接失败问题处理

1,日志显示
[root@master1 ~]# docker logs -f mysql
Initializing database
2019-03-13T09:50:59.068143Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-03-13T09:50:59.068385Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server in progress as process 28
2019-03-13T09:51:03.172816Z 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2019-03-13T09:51:06.578519Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server has completed
Database initialized
MySQL init process in progress...
MySQL init process in progress...
mbind: Operation not permitted
2019-03-13T09:51:09.143228Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

注意:mbind: Operation not permitted

2,查看用户信息
mysql> select host,user,plugin,authentication_string from mysql.user; 
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
| host         | user             | plugin                | authentication_string                                                  |
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
| %            | root             | caching_sha2_password | $A$005$2 
                                                                                                                                                                                                                          2oGdd!Bg8cxdQN8906wywBuO99CEVTjcjSkS/jmq6xTk7VwY80 |
| 172.16.201.% | test             | caching_sha2_password | $A$005$co*(MdA-vi+>,xCrZ6/pGjHRkcBjgqmk910O32c/4CQK7g.S6cRACUIpNB6 |
| localhost    | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | mysql.session    | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | mysql.sys        | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | root             | caching_sha2_password | $A$005$S?*]"}
                                                                         ^p 
869uHS9RnGdY.7jZRrdiY2Zg4F1uoY0HnqLys3sGeVXI. |
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)

注意:host为 % 表示不限制ip   localhost表示本机使用    plugin非mysql_native_password 则需要修改密码

3,修改用户密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> select host,user,plugin,authentication_string from mysql.user;
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
| host         | user             | plugin                | authentication_string                                                  |
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
| %            | root             | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |
| 172.16.201.% | test             | caching_sha2_password | $A$005$co*(MdA-vi+>,xCrZ6/pGjHRkcBjgqmk910O32c/4CQK7g.S6cRACUIpNB6 |
| localhost    | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | mysql.session    | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | mysql.sys        | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost    | root             | caching_sha2_password | $A$005$S?*]"}
                                                                         ^p 
869uHS9RnGdY.7jZRrdiY2Zg4F1uoY0HnqLys3sGeVXI. |
+--------------+------------------+-----------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)

连接测试:

 

posted @ 2019-03-13 18:38  fuhaizi  阅读(939)  评论(0)    收藏  举报