Docker安装MySQL、Redis
程序员文章站
2022-03-10 08:15:06
...
Docker 入门 中已经讲解了Docker的安装以及简单使用,本文主要讲解MySQL、Redis的详细安装过程。
安装MySQL
1、搜索镜像
#docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used… 8679 [OK]
mariadb MariaDB is a community-… 3023 [OK]
mysql/mysql-server Optimized … 642 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL 63
centurylink/mysql Image containing… 61 [OK]
2、拉取最新的镜像
# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
8f91359f1fff: Pull complete
6bbb1c853362: Pull complete
e6e554c0af6f: Pull complete
f391c1a77330: Pull complete
414a8a88eabc: Pull complete
fee78658f4dd: Pull complete
9568f6bff01b: Pull complete
5a026d8bbe50: Pull complete
07f193b54ae1: Pull complete
1e404375a275: Pull complete
b81b2ef0e430: Pull complete
2f499f36bd40: Pull complete
Digest: sha256:6d95fa56e008425121e24d2c01b76ebbf51ca1df0bafb1edbe1a46937f4a149d
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
3、在宿主机创建持久化 mysql data 及mysql.cnf
[aaa@qq.com ~]# mkdir -p /opt/docker/mysql
[aaa@qq.comhost ~]# cd /opt/docker/mysql/
[aaa@qq.com mysql]# mkdir conf
[aaa@qq.com mysql]# mkdir data
[aaa@qq.com mysql]# cd conf
[aaa@qq.com conf]# vi mysql.cnf
[aaa@qq.com conf]# ll
总用量 0
-rw-r--r--. 1 root root 0 10月 20 13:15 mysql.cnf
4.添加操作权限
chmod 777 /opt/docker/mysql/data
备注:挂载时权限验证(操作权限)
5、运行镜像
#docker run -itd -p 3306:3306 --name mysql -v /opt/docker/mysql/conf:/etc/mysql -v /opt/docker/mysql/data:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 mysql
[aaa@qq.com ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5446329a199 mysql "docker-entrypoint.s…" 16 seconds ago Up 15 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
4、启动成功,查看日志[如果报错,也可以在日志中查看报错原因]
[aaa@qq.com ~]# docker logs -f mysql
第五步中启动命令说明:
-
--name
:指定容器名 ,这里是mysql -
-p 3306:3306
:将容器的 3306 端口映射到主机的 3306 端口。 -
-v
: 指定数据卷,意思就是将mysql容器中的 /var/lib/mysql-files(这个是数据库所有数据信息文件)映射到宿主机 /opt/docker/mysql/data 里面。 -
-e MYSQL_ROOT_PASSWORD=123456
:设置环境变量 ,这里是初始化 root 用户的密码。 -
-t
: 让docker分配一个伪终端,并绑定到容器的标准输入上 -
-i
: 让容器的标准输入保持打开 -
-d
: 后台运行容器,并返回容器ID -
mysql
:表示你之前下载的镜像。它表示使用mysql
该镜像为基础来启动容器
5、参考
docker安装mysql8.0 – 在虚拟机中安装未遇到文章中的问题,但是云主机中安装也遇到文章中的问题,解决方式相同
Navicat 连接数据库成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aO0coazJ-1573228614099)(]
安装Redis
1、搜索镜像
#docker search redis
2、拉取最新的镜像
# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
8d691f585fa8: Pull complete
8ccd02d17190: Pull complete
4719eb1815f2: Pull complete
200531706a7d: Pull complete
eed7c26916cf: Pull complete
e1285fcc6a46: Pull complete
Digest: sha256:fe80393a67c7058590ca6b6903f64e35b50fa411b0496f604a85c526fb5bd2d2
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
3、下载 redis.conf
官网地址:http://download.redis.io/redis-stable/redis.conf
修改后,现成的:redis.conf
bind 127.0.0.1 #注释掉这部分,用来限制redis只能本地访问
protected-mode no #默认yes表示开启保护模式,用来限制redis只能本地访问
daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选);改为yes会使配置文件方式启动redis失败
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
databases 20 #数据库个数,这里设置redis最多有20个数据库
4、用命令启动Redis
# mkdir -p /opt/docker/redis/conf
将第三步的redis.conf放在/opt/docker/redis/conf中
# mkdir -p /opt/docker/redis/data
# docker run -p 6379:6379 --name redis -v /opt/docker/redis/conf:/etc/redis/redis.conf -v /opt/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass "123456"
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
572df6bc1977 redis "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 0.0.0.0:6379->6379/tcp redis
--appendonly yes:开启数据持久化
5、验证Redis
# docker exec -it redis redis-cli
127.0.0.1:6379> info
NOAUTH Authentication required. // 提示需要密码
127.0.0.1:6379> Auth 123456 // 输入刚才设置的密码
OK
127.0.0.1:6379> info
# Server
redis_version:5.0.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:24cefa6406f92a1f
redis_mode:standalone
os:Linux 3.10.0-1062.1.1.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:1
run_id:e68f46ef296b8de98ce5dfc71b616d376ac62873
tcp_port:6379
uptime_in_seconds:302
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:12946792
executable:/data/redis-server
config_file:/etc/redis/redis.conf
# Clients
....
RedisDesktopManager登录
6、参考
上一篇: prototype试用整理资料
推荐阅读
-
Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版
-
python网站开发准备ubuntu14.04安装mysql实现windows管理
-
CentOS 7 MySql 解压版安装配置
-
Redis的安装(windows)
-
centos 6.7 下安装 redis-3.2.5的步骤
-
CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
-
CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
-
cenos7中利用docker安装mysql的步骤教程
-
MySQL的安装、启动和基础配置 —— linux版本
-
keeplive+mysql+drbd高可用架构安装步骤