SpringBoot学习之环境搭建篇(一)1.2 - Docker(MySQL、RabbitMQ)

目录

说明:使用Docker安装MySQL和RabbitMQ,主要是为了学习Docker的使用。(使用的是阿里云服务器)

一、安装Docker

1、安装yum-utils

2、为yum源添加docker仓库位置

3、查看仓库中docker版本,并选择安装

4、开始安装docker

5、查看版本

6、配置及启动docker

7、安装各类中间件

8、常用命令

二、Docker拉取MySQL镜像

1、拉取mysql5.7的镜像

2、检查是否拉取成功

3、建立目录映射

4、检查容器是否正确运行

5、进入docker的mysql客户端

6、使用遇到的问题

图 6-1

三、Docker拉取RabbitMQ镜像

1、拉取rabbitmq镜像

2、查看是否拉取成功

3、根据下载的镜像创建和启动容器:

4、检查容器是否正确运行

5、使用浏览器打开web管理端:

6、进入MQ虚拟环境


说明:使用Docker安装MySQL和RabbitMQ,主要是为了学习Docker的使用。(使用的是阿里云服务器)

一、安装Docker

1、安装yum-utils

说明:管理repository及扩展包的工具 (主要是针对repository)

yum install -y yum-utils device-mapper-persistent-data lvm2

2、为yum源添加docker仓库位置

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

3、查看仓库中docker版本,并选择安装

yum   list   docker-ce --showduplicates   |   sort   -r

4、开始安装docker

# 默认安装稳定版本:
yum install docker-ce
# 指定版本(这个能安装成功):
yum -y install docker-ce-18.03.1.ce

5、查看版本

docker version

6、配置及启动docker

# 设置开机启动:
chkconfig docker on
# 人工启动docker:
service docker start

# 启动、停止、重启容器中的中间件的命令
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id

# 如下示例
docker start mysql/5623583a75c9

7、安装各类中间件

https://www.jianshu.com/p/97109cb4a6ea

8、常用命令

# 1. 拉取docker 镜像:docker pull image_name
docker pull redis:3.0.7、docker pull rabbitmq:3.7.15

# 2. 删除镜像
docker rmi docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30 (b39c68b7af30 指container_id)
# 如果报错则执行,下列命令
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
docker rmi  <image id> (<image id>通过 docker images 命令获取)

# 3. 普通命令
① 查看当前有哪些容器正在运行:docker ps
② 查看所有容器:docker ps -a
③ 删除容器的命令:docker rm container_name/container_id
④ 删除所有停止的容器:docker rm $(docker ps -a -q)
⑤ 查找Docker Hub上的nginx镜像:docker search nginx

# 4. 进入docker的容器时,发现命令不存在,则安装
① 如果vim命令不存在时,则安装
apt-get update
apt-get install vim
② 进入vim ~/.bashrc可以增加别名
alias ll = 'ls $LS_OPTIONS -l'

二、Docker拉取MySQL镜像

1、拉取mysql5.7的镜像

docker pull mysql:5.7(不加版本:5.7则拉取最新版的)

2、检查是否拉取成功

sudo docker images

3、建立目录映射

说明:一般数据库容器不需要建立目录映射(只在首次运行使用)

sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    –name:容器名,此处命名为mysql
    -e:配置信息,此处配置mysql的root用户的登陆密码
    -p:端口映射,此处映射 主机3306端口 到 容器的3306端口

注:如果要建立目录映射(以下命令是可以不需要)
duso docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7
-v:主机和容器的目录映射关系,":" 前为主机目录,之后为容器目录

4、检查容器是否正确运行

docker container ls
# 显示:容器ID、容器的源镜像、启动命令、创建时间、状态、端口映射信息、容器名字

5、进入docker的mysql客户端

sudo docker exec -it mysql bash
mysql -uroot -p123456

6、使用遇到的问题

# 1. 配置数据库表大小写问题:初始lower_case_table_names = 0,因此需要将mysql的lower_case_table_names改为1即可
lower_case_table_names = 0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names = 2 表名存储为给定的大小写但是比较的时候是小写的

# 2. 开始改动大小写问题,如下图所示(图6-1)
docker ps -a
docker exec -it  mysql  /bin/bash
vi /etc/mysql/mysql.conf.d/mysqld.cnf

# 3. 配置错误时,怎么找到配置文件呢?
find / -name my.cnf |grep '/etc/mysql/my.cnf'
mv my.cnf.fallback my.cnf
ln -s my.cnf /etc/alternatives/my.cnf(无 -s 是硬链接,有是软链接)

# 4. mysql的group_concat函数,默认最大长度是1024,增大长度(以后使用中可能需要)
show variables like 'group_concat_max_len';
# 方法一:不重启方式扩量
SET GLOBAL group_concat_max_len = 4294967295;
SET SESSION group_concat_max_len = 4294967295;
# 方法二:在配置文件mysqld.cnf中加,需要重启扩容
[mysql]
group_concat_max_len = 4294967295

图 6-1

三、Docker拉取RabbitMQ镜像

1、拉取rabbitmq镜像

说明:选择带有-management后缀的文件安装

docker pull rabbitmq:3.7.7-management

2、查看是否拉取成功

说明:能发现rabbitmq则说明拉取成功。

sudo docker images

3、根据下载的镜像创建和启动容器:

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=dev -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc
    
说明:
    -d 后台运行容器;
    --name 指定容器名;
    -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
    -v 映射目录或文件;
    --hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
    -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
    镜像image_id:2888deb59dfc 是 sudo docker images 查找出的 <IMAGE ID>

 4、检查容器是否正确运行

docker container ls

5、使用浏览器打开web管理端:

① 地址:http://ip:port

② 上面设置的密码和账号是:admin/admin

③ 如果使用的是阿里云,还需要在阿里云平台配置暴露port端口

6、进入MQ虚拟环境

说明:安装好后,如果想看docker安装下的MQ,可使用以下命令

docker exec -it rabbitmq /bin/bash

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值