CentOS 7中Docker的安装(Docker安装mysql、redis实操)


一、Docker的介绍

1.为什么要用docker

软件开发最大的麻烦事之一:环境配置问题
  每当在Linux中安装mysql、redis等开发环境时,往往需要先下载安装包、解压、编译、安装;操作太过复杂,而且版本不兼容也是一大问题

docker的用途:

    提供一次性的环境。 提供弹性的云服务。 组建微服务架构。

2.什么是docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
  Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  容器是完全使用沙箱机制,各个容器之间互不干扰      
  Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

官方安装地址: GitHub地址:

二、Docker的安装

Docker官方安装文档:

去掉老的版本 设置仓库: 安装docker 安装完毕: 运行docker 查看docker的版本号和后台进程

设置开机自启动: sudo systemctl enable docker

查看docker镜像:docker images 此时是没有任何镜像的

一般官网的镜像下载速度比较慢,所以我们切换阿里云镜像 登录阿里云,第一次登录需要进行注册; 进入控制台 配置镜像即可 至此docker的阿里云镜像安装完成。

三、docker安装mysql

下载镜像文件  使用`docker pull mysql:5.7`
查看镜像是否下载
docker run -d -p 3306:3306 --name mysql 
         -v /mysqldata/mysql/log:/var/log/mysql  
         -v /mysqldata/mysql/data:/var/lib/mysql 
         -v /mysqldata/mysql/conf:/etc/mysql 
         -e MYSQL_ROOT_PASSWORD=root   
         mysql:5.7

上述命令的含义

docker run :在docker中启动一个容器实例 -d :该容器在后台运行 -p 3306:3306:容器与主机映射端口为,主机3306,容器3306 --name mysql:容器运行后的名称 -v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下 -v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下 -v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下 -e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root mysql:5.7:需要运行的容器名称以及版本号

将容器中的数据备份后,即使mySQL的容器实例被删除,那么再次重启mysql容器后,数据将会自动从主机加载到容器中

通过命令:`docker ps` 查看正在运行的容器

进入容器内部docker exec -it mysql /bin/bash 可以看出容器是一个完整的linux

查看mysql所装的目录 `whereis mysql`

设置mysql的字符编码

[client]
default_character_set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_unicode_ci
init_connect=SET NAMES utf8
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重启docker容器 `docker restart mysql `
容器中查询mysql数据库

四、docker安装redis

通过docker pull redis安装redis镜像 查看镜像是否安装成功 因为docker创建的redis实例中并没有redis.conf文件,所以需要提前创建 创建redis实例

旧版 docker run -p 6379:6379 --name redis 
     -v /mysqldata/redis/data:/data 
     -v /mysqldata/redis/conf/redis.conf:/etc/redis/redis.conf 
     -d redis redis-server /etc/redis/redis.conf
新版  docker run -p 6379:6379 --name redis 
			        -v /mysqldata/redis/data:/data 
			        -d redis redis-server

使用redis镜像执行redis -cli命令连接

旧版的需要在redis.conf中设置持久化配置  	appendonly yes
 新版的redis默认支持持久化
经验分享 程序员 微信小程序 职场和发展