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)
连接测试: