docker本地安装mysql和redis
-
安装mysql
docker search mysql docker pull mysql docker images docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
安装redis
docker run -d --name redis -p 6379:6379 redis:latest redis-server --appendonly yes --requirepass "自己设置的密码"
安装MongoDB
docker pull mongo:latest docker images docker run -itd --name mongo -p 27017:27017 mongo --auth
进入容器
docker exec -it mongo mongo admin
创建管理员账户和密码
db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
用管理员账户登录
db.auth('admin', 'admin')
use yourdatabase db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })
role内建角色有如下:
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
安装rabbitmq
docker pull rabbitmq docker run \ \-e RABBITMQ_DEFAULT_USER=guest \ \-e RABBITMQ_DEFAULT_PASS=guest \ \--name mq \ \--hostname localhost \ \-p 15672:15672 \ \-p 5672:5672 \ \-d \ rabbitmq
开启web页面管理
进入mq:docker exec -it mq /bin/bash 开启:rabbitmq-plugins enable rabbitmq_management
安装Elasticsearch
Elasticsearch+kibana下载安装
docker pull elasticsearch:7.16.2 docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.16.2 docker pull kibana:7.16.2 docker run --name kibana -e ELASTICSEARCH_HOSTS=http://host.docker.internal:9200 -p 5601:5601 -d kibana:7.16.2
挂载目录
将 Docker 中的 Elasticsearch 目录挂载到本地,如下命令依次执行docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.16.2
docker cp -a es:/usr/share/elasticsearch/config/ /opt/es docker cp -a es:/usr/share/elasticsearch/data/ /opt/es docker cp -a es:/usr/share/elasticsearch/logs/ /opt/es docker cp -a es:/usr/share/elasticsearch/plugins/ /opt/es
docker stop es docker rm es
运行 Elasticsearch
docker run --privileged=true --name es \ \-e "discovery.type=single-node" \ \-e ES_JAVA_OPTS="-Xms600m -Xmx600m" \ \-v /opt/es/plugins:/usr/share/elasticsearch/plugins \ \-v /opt/es/data:/usr/share/elasticsearch/data \ \-v /opt/es/logs:/usr/share/elasticsearch/logs \ \-v /opt/es/config:/usr/share/elasticsearch/config \ \-d elasticsearch:7.16.2
https://blog.csdn.net/qq_42875345/article/details/132967078
安装logstash
一、下载镜像 docker pull logstash:7.14.1 二、在宿主机建好相应的目录 mkdir -p /Users/你的实际名称/docker_volume/logstash/{data} 三、其中data目录是存放数据的需要设置可读写权限 chmod 777 /Users/你的实际名称/docker_volume/logstash/data 四、先临时运行一下容器 docker run --name logstash01 -d logstash:7.14.1 把容器里默认的config目录全部文件复制到宿主机config目录里来 docker cp logstash01:/usr/share/logstash/config/ /Users/你的实际名称/docker_volume/logstash/ 把容器里默认的pipeline目录全部文件复制到宿主机pipeline目录里来 docker cp logstash01:/usr/share/logstash/pipeline/ /Users/你的实际名称/docker_volume/logstash/ 编辑/Users/你的实际名称/docker_volume/logstash/config/logstash.yml文件,加入以下代码来指定配置文件 path.config: /usr/share/logstash/config/logstash-sample.conf (logstash-sample.conf文件的host地址记得用容器地址,例如要访问的rabbitmq容器的IP地址为172.0.1.8) 五、停止容器 docker stop logstash01 六、删除容器 docker rm logstash01 七、正式运行容器 docker run --name logstash01 \ \-v /Users/你的实际名称/docker_volume/logstash/config:/usr/share/logstash/config \ \-v /Users/你的实际名称/docker_volume/logstash/data:/usr/share/logstash/data \ \-v /Users/你的实际名称/docker_volume/logstash/pipeline:/usr/share/logstash/pipeline \ \-d logstash:7.14.1