Docker安装
Docker常用命令
docker update --restart=always imagesName # 修改已启动的容器开机自启
docker update --restart=no imagesName # 修改已启动的容器不开机自启
imagesName : 容器名称或id
Docker安装mysql
docker search mysql
docker pull mysql:latest #最新版本
docker pull mysql:8.0.21 #指定版本
docker run -p 3306:3306 --restart=always --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.21
- p 3306:3306 : 将容器的 3306 端口映射到主机的 3306 端口
--restart=always : 开机自启动
- e MYSQL_ROOT_PASSWORD=root : 设置 mysql 登录密码
- d 后台运行容器,并返回容器 id
mysql:8.0.21 我运行的镜像名,也可替换成镜像 id
docker exec -it mysql-test mysqldump -uroot -p123456 mc > mc.sql
docker cp C:\Users\q'y\Desktop\mc.sql mysqltest:/mc.sql
docker exec -it mysqltest bash
mysql -uroot -pabc123_ -D mc < mc.sql
Docker安装Elasticsearch
常规安装
docker pull docker.io/elasticsearch:版本号
docker pull docker.io/elasticsearch:7.1.1
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" elasticsearch:7.1.1
-d:后台启动
--name:容器名称
-p:端口映射
-e:设置环境变量
discovery.type=single-node:单机运行
如果启动不了,可以加大内存设置:-e ES_JAVA_OPTS="-Xms512m -Xmx512m"
使用Dockerfile安装
touch Dockerfile
FROM docker.elastic.co/elasticsearch/elasticsearch:7.13.2
# 单机运行
ENV discovery.type=single-node
# 设置内存
ENV ES_JAVA_OPTS="-Xms512m -Xmx512m"
# Disable X-Pack security
ENV xpack.security.enabled=false
# Install the IK analyzer plugin
RUN echo 'y' | elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.2/elasticsearch-analysis-ik-7.13.2.zip
docker build -t my-elasticsearch .
或者直接docker pull qy10555/qy-es:v1.0.0
docker run -d -p 9200:9200 -p 9300:9300 my-elasticsearch
Elasticsearch删除索引
curl -X DELETE "http://localhost:9200/brand/_doc/3"
curl -XPOST 'localhost:9200/_bulk' -H 'Content-Type: application/json' --data-binary '
{"delete":{"_index":"news-v3","_id":"999"}},
{"delete":{"_index":"news-v3","_id":"104688"}}
'
curl -X DELETE "http://localhost:9200/brand"
Elasticsearch查看索引数据
curl -X GET "http://localhost:9200/short-news/_doc/17"
查看本地所有索引
curl -X GET "http://localhost:9200/_cat/indices?v"
解绑索引与别名关系
curl -X POST "http://127.0.0.1:9200/_aliases" -d '{"actions":[{"remove":{"index":"brand","alias":"brand-logic"}}]}'
Docker安装Redis
常规安装
docker pull redis
docker run -itd --name redis -p 6379:6379 redis
Docker安装Rabbitmq
常规安装
docker pull rabbitmq:3.8-management
docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 imageId
①docker exec -it 容器id bash
②执行rabbitmqctl add_user root 123456 添加用户,用户名为root,密码为123456
③执行rabbitmqctl set_permissions -p / root ".*" ".*" ".*" 赋予root用户所有权限
④执行rabbitmqctl set_user_tags root administrator赋予root用户administrator角色
⑤执行rabbitmqctl list_users查看所有用户即可看到root用户已经添加成功
docker-compose安装mysql、redis、rabbitmq
version: '3.8'
services:
mysql:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:latest
restart: always
ports:
- "6379:6379"
rabbitmq:
image: rabbitmq:latest
restart: always
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_DEFAULT_USER: your_rabbitmq_user
RABBITMQ_DEFAULT_PASS: your_rabbitmq_password
volumes:
mysql_data:
docker-compose up -d
docker-compose down