1,Docker简介:

虚拟化容器技术。Docker基于镜像,可以秒级启动各种各样容器,每一种容器都是一个完整的
运行环境,容器之间互相隔离。
virtualBox、vagrant都是一个软件,通过vagrant下载、管理linux虚拟机,linux会自动添加到virbox中。
通过vagrant ssh连接linux虚拟机。在linux虚拟机中下载docker容器(可以开启虚拟机启动、docker容器自动开启功能)、通过docker管理下载mysql等镜像。
在这里插入图片描述

2,安装docker:

安装docker

cmd->vagrant ssh->输入下面两个命令。
在这里插入图片描述

执行下面的指令,安装docker容器。
在这里插入图片描述

启动docker:

sudo systemctl start docker

在这里插入图片描述

可以看见,docker里面还没有下载镜像,是个空列表:
在这里插入图片描述

设置docker开机自启:(虚拟机启动,它自动启动)
在这里插入图片描述

3,更改docker下载镜像

1)由于docker下载redis什么的软件,是使用的国外镜像,很慢,我们需要改为国内的。
(这里我们选择阿里云镜像)登录阿里云->控制台->容器与镜像服务->镜像加速器。
执行下面语句:完成后,docker下载就换成阿里源了,速度提升很快。
在这里插入图片描述

4,Docker安装mysql

在hub.docker.com中搜索mysql,可以发现很多镜像。
docker命令下载方式:这里是5.7
在这里插入图片描述

检测所有的镜像:
在这里插入图片描述

由于非管理员用户,每次命令都要执行sudo,可以切换为root账户,默认密码为:vagrant
在这里插入图片描述
在这里插入图片描述

配置mysql,并运行:
在这里插入图片描述

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -e MYSQL_ROOT_PASSWORD=root \
 -d mysql:5.7

查看当前docker正在运行的容器:docker.ps

在这里插入图片描述

通过navicat连接mysql:
主机就是你linux虚拟机设置
密码为root
在这里插入图片描述
文件挂载
在这里插入图片描述

如果需要修改数据库信息,那么需要进入到docker里面去修改mysql的配置信息,很麻烦,
这里我们可以把其挂载到linux文件里面,linux里面改动docker里面也会改动(须重新启动)。
退出docker容器。
在这里插入图片描述
查看linux中与docker容器挂载的目录
在这里插入图片描述
Mysql配置:
vi my.conf
敲i,进入插入模式,复制下面的(修改字符编码)

vi/mydata/mysql/conf/my.cnf

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection=utf_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

敲ESC
再 " :w+q " 保存退出。
重启mysql容器,就生效。

docker restart mysql

进入mysql交互界面

docker exec -it mysql /bin/bash

进入到mysql里面的文件,看见了那个配置文件my.conf(它是之前外部更改后挂载进来的)
在这里插入图片描述

至此,mysql完成。

5,安装redis

下载镜像文件
在这里插入图片描述

创建实例并启动:

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis -v /redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

通过下面的命令,进入到docker里面的redis的操作
在这里插入图片描述

默认是没有持久化的
redis配置持久化
conf里面加入:appendonly yes
在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐