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
2 COMMENTS