目录
一、常用容器运行指令
MySQL
Redis
RabbitMQ
ElasticSearch & kibana
Nacos
Sentinel
一、常用容器运行指令
MySQL
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=1111 mysql:5.7
- -e TZ=Asia/Shanghai:指定上海的时区,避免时间出问题.
- -e MYSQL_ROOT_PASSWORD=:设置密码.(建议设的复杂一点,避免黑客攻击,端口号也建议换一下)
Redis
docker run -itd -p 6379:6379 --name redis redis:5.0.9
RabbitMQ
docker run \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=1111 \
--name mq \
--hostname mq1 \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3.8-management
ElasticSearch & kibana
a)为了 es 和 将来要下载的 kibana 进行互联,因此需要我们去创建一个网络.
docker network create es-net
b) ES 部署
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
- -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"`:内存大小(es 底层是 Java 实现的,所以这里是配置 jvm 的堆内存大小),值得注意的是,这里 512 已经是能配置的最小内存了,不能更小,否则回出现内存不足的情况.
- -e "discovery.type=single-node"`:非集群模式(single node 就是单个节点的意思)
- -v es-data:/usr/share/elasticsearch/data`:挂载数据卷,绑定es的数据目录
- -v es-plugins:/usr/share/elasticsearch/plugins`:挂载数据卷,绑定es的插件目录(将来作拓展,就要在这里存东西)
- --privileged`:授予数据卷访问权
- --network es-net` :加入一个名为es-net的网络中
- -p 9200:9200: 这里是 http 协议端口,供我们访问.
- -p 9300:9300:这里是 es 容器各个节点之间的互联端口.(这个端口现在用不到,不暴露也没关系,只是后面部署集群的时候,还得打开).
如果要设置集群,可以如下配置:
- -e "cluster.name=es-docker-cluster"`:设置集群名称
c)kibana 部署
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
- --network es-net` :加入一个名为es-net的网络中,与elasticsearch在同一个网络中.
- -e ELASTICSEARCH_HOSTS=http://es:9200"`:设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch.
Nacos
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.4.2
- MODE=standalone 单机版
- --restart=always 开机启动
Ps:默认账号密码都是 nacos
Sentinel
docker run --name sentinelAlibaba -d -p 8858:8858 镜像id
Ps:默认账号和密码都是 sentinel