Docker 安装Mysql,RabbitMQ

安装Mysql

  • 拉取镜像 docker pull mysql:latest
  • 运行容器 docker run -itd --name mysql -p 33061:3306 -v D:/mysql/log:/var/log/mysql -v D:/mysql/conf:/etc/mysql/conf.d -v D:/mysql/data:/var/lib/mysql --privileged=true --restart=on-failure:3 -e MYSQL_ROOT_PASSWORD=liuyalong mysql:latest

注意事项

  • 如果报错Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2),可能是配置文件位置不对
    • 搜索文件find / -name mysqld.sock 发现这个文件被存放在/run/mysqld/mysqld.sock 这个路径下
    • 然而配置文件/etc/mysql/my.cnf里写的路径不对,多了/var,因为/etc/mysql/my.cnf文件最后加载了conf.d/目录下的文件,所以我们可以在conf.d目录下创建my.cnf文件,替换相关变量
    • 在/etc/mysql/conf.d路径下创建的my.cnf配置文件可能会因为不安全(所有人都能修改),会被mysql忽略,需要更改我们自己创建的my.cnf的权限 chmod 644 /etc/mysql/conf.d/my.cnf
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL

# Custom config should go here
!includedir /etc/mysql/conf.d/

安装RabbitMQ

  • 拉取镜像 docker pull rabbitmq:management management是带管理界面的
  • 运行容器 docker run -itd --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:managemen
  • 端口15672是管理界面端口

安装MongoDB

  • 拉取镜像: docker pull mongo
  • 运行容器 : docker run -itd --name mongo -p 27017:27017 --restart=always mongo --auth
  • 进入容器: winpty docker exec -it mongo mongo admin 如果不加winpty会报错
  • 创建超级管理员用户root: db.createUser({ user:'root',pwd:'liuyalong',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
  • 验证密码: db.auth("root","liuyalong")
  • 创建管理员用户 : db.createUser({user:'liuyalong',pwd:'liuyalong', roles:[{role:'readWriteAnyDatabase', db:'admin'}]});
posted @ 2020-12-09 15:07  rm-rf*  阅读(83)  评论(0编辑  收藏  举报