电商项目——Linux虚拟机中安装docker,mysql,redis_VirtualBox——第四章——上篇

梦想与她 提交于 2020-10-24 01:45:56

电商项目——初识电商——第一章——上篇
电商项目——分布式基础概念和电商项目微服务架构图,划分图的详解——第二章——上篇
电商项目——电商项目的虚拟机环境搭建_VirtualBox,Vagrant——第三章——上篇
电商项目——Linux虚拟机中安装docker,mysql,redis_VirtualBox——第四章——上篇
电商项目——电商项目的环境搭建_开发工具&环境搭建——第五章——上篇



前面第三章我们已经讲述了如何安装配置虚拟机,接下来我们就给虚拟机安装docker,mysql,redis
如果是使用VMware来创建虚拟机可以参考如下这篇文章(其实都一样)
VMware下安装docker,mysql,redis

1:Linux下安装docker

如果大家还不知道Docker是什么,可以参考下面这篇文章
Docker——Docker介绍
安装下面的步骤一步一步执行就可以完成docker的安装
第一步:Docker的旧版本被称为Docker或Docker -engine。如果安装了这些,请卸载它们以及相关的依赖项。


$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

如果yum报告没有安装这些包,这是可以的。
保存/var/lib/docker/的内容,包括图像、容器、卷和网络。Docker引擎包现在称为Docker -ce。

第二步:我们可以安装Docker引擎在不同的方式,根据我们的需要:

  1. 大多数用户设置了Docker的存储库并从它们进行安装,以方便安装和升级任务。这是推荐的方法。
  2. 一些用户下载RPM包并手动安装,并完全手动管理升级。这在一些情况下非常有用,比如在没有访问internet的被隔离的系统上安装Docker。
  3. 在测试和开发环境中,一些用户选择使用自动化的方便脚本来安装Docker。

我们就介绍第一种安装docker方式
如下第一步:在新主机上首次安装Docker引擎之前,需要设置Docker储存库。然后,我们可以从存储库安装和更新Docker。

安装um-utils包(它提供了um-config-manager实用程序)并设置稳定存储库。

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

第二步:安装Docker Engine和containerd的最新版本

$ sudo yum install docker-ce docker-ce-cli containerd.io

第三步:启动docker容器sudo systemctl start docker和docker version进行验证
在这里插入图片描述

如下命令可以以后虚拟机开机后,自动启动docker,而不用手动启动
在这里插入图片描述

2:配置docker阿里云镜像加速

在这里插入图片描述
在这里插入图片描述
操作步骤
在这里插入图片描述
总结:以后我们想要在docker hub仓库中下载镜像,它都会通过阿里云镜像加速给我下载,就不会下载特别慢了



3:docker中安装mysql

第一步:去docker hub上拉取mysql镜像

$ docker pull mysql:5.7

第二步:执行run命令

& 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

如下就解释了容器文件的挂载与端口映射
在这里插入图片描述
注意:我们的mysql默认的字符集子拉丁,我们要修改配置文件为utf-8,在
/mydata/mysql/conf中创建my.cnf文件进行配置,如下
在这里插入图片描述



[client]
default-character-set=utf-8

[mysql]
default-character-set=utf-8

[mysqlId]
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 exec命令可以进入到容器中
在这里插入图片描述

4:docker中安装redis

第一步:去docker hub上拉取镜像

$ docker pull redis

第二步:执行run命令

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

注意:redis.conf文件必须要创建出来,否则执行run命令,默认是目录,不可以,目的以后挂载所有文件到如下文件夹下
在这里插入图片描述

第三步:我们要在redis.conf文件中配置持久化配置
理由:如下我们重启redis后,再次查询k1值,发现为nil,说明没有进行持久化配置
在这里插入图片描述
我们去/mydata/redis/conf/redis.conf中配置(因为我们已经把/etc/redis/redis.conf中的文件挂载到了主机中),配置如下内容,便可以完成redis持久化配置
在这里插入图片描述
如上,我们已经完成了docker上安装了redis




注意:docker exec 命令是进入到redis的容器中进行操作,和如上mysql实现一样

5:如何可以在虚拟机重新开启后,可以自动重启容器

调用如下命令

$ sudo docker update mysql --restart=always
$ sudo docker update redis --restart=always
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!