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'}]});

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/lyalong/p/14108692.html

javaguide-编程思维

本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。)少部分内容参考了 MongoDB 官方文档的描述,在此说明一下。MongoDB 基础MongoDB 是什么?MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统,由 C++ 编写的

mongodb使用内存和硬盘特性-编程思维

初次使用mongodb的时候,都会遇到mongodb占用内存过高或者占用磁盘空间不释放的问题。仔细阅读过官方文档就会清楚,为了高性能,mongodb会尽量减少io操作,用空间换时间,对内存和磁盘的大量占用是必须的,我们没有必要刻意的限制它。 内存 https://www.mongodb.com/community/fo

插入整数问题-编程思维

如果我们用python插入一条内容,里面有一个整数 dict = { "name": "test", "num": 1} col.insert_one(dict) 得到的结果如下 { "name": "test", "num": NumberInt("1") } 如果是这样书写 dict = {

docker常用命令-编程思维

启动一个容器 docker run -itd -m 10g --name python3 --restart=always --net host -v /root/python_env:/root/python_env docker.io/python:3.6.8 -itd其中-d:后台启动;-t:进入终端;-i:获

docker安装elk-编程思维

网络问题 拉取镜像时,如果出现网络问题,,需要修改dns vi /etc/resolv.conf 添加nameserver 8.8.8.8 用docker-compose安装单机版 git clone https://github.com/deviantony/docker-elk.git docker-compose

docker安装rocketmq踩坑指南-编程思维

Docker 网络 Docker容器运行的时候有host、bridge、none三种网络可供配置。 默认是bridge,即桥接网络,以桥接模式连接到宿主机;host是宿主网络,即与宿主机共用网络;none则表示无网络,容器将无法联网。 当容器使用host网络时,容器与宿主共用网络,这样就能在容器中访问宿主机网络,那么