docker安装mysql、redis、rabbitmq

docker安装mysql、redis、rabbitmq

安装mysql

拉取镜像

docker pull mysql

创建容器并运行

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

--name:指定容器的名称
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

配置用户加密规则,否则无法正常连接

进入容器

docker exec -it 91e9907a5897 /bin/bash

进入mysql

mysql -uroot -p

授权

mysql> GRANT ALL ON *.* TO 'root'@'%';

刷新权限

mysql> flush privileges;

更新加密规则

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更新密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

mysql> flush privileges;

安装redis

拉取镜像

docker pull redis

创建容器并运行

docker run -itd --name redis-test -p 6379:6379 redis

--name:指定容器的额名称
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务

安装rabbitmq

拉取镜像

docker pull rabbitmq

创建容器并运行

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v 'pwd'/data:/var/lib/rabbitmq --hostname rabbitmq -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin7749123 0b9850762226

-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

0b9850762226 镜像id

开启web管理页面

进入容器
docker exec -it rabbitmq /bin/bash
开启管理页面
rabbitmq-plugins enable rabbitmq_management

指定自启动

docker update 容器id --restart=always