1.常用容器安装命令
前言
仅作参考学习,若有错误请评论留言!
1.elasticsearch
- 通过下面的Docker命令即可安装单机版本的elasticsearch:
docker run -d \ # -d 表示以守护进程(后台)模式运行容器
--name es \ # 为容器指定名称为"es"
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ # 设置JVM堆内存初始值和最大值均为512MB
-e "discovery.type=single-node" \ # 设置为单节点模式(开发测试用,生产环境需集群)
-v es-data:/usr/share/elasticsearch/data \ # 挂载数据卷,持久化存储索引数据
-v es-plugins:/usr/share/elasticsearch/plugins \ # 挂载插件卷,保存安装的插件
--privileged \ # 授予容器特权模式
--network xxx \ # 将容器加入名为"xxx"的自定义Docker网络
-p 9200:9200 \ # 映射REST API端口(HTTP通信)
-p 9300:9300 \ # 映射节点通信端口(TCP协议)
elasticsearch:7.12.1 # 使用指定版本的Elasticsearch镜像
2. seata
docker run --name seata \ # 指定容器名称为"seata"
-p 8099:8099 \ # 映射TCP服务端口
-p 7099:7099 \ # 映射控制台端口
-e SEATA_IP=192.168.100.128 \ # 设置Seata服务器IP(必须与客户端配置一致)
-v ./seata:/seata-server/resources \ # 挂载配置文件目录(宿主机当前目录下的seata文件夹)
--privileged=true \ # 授予容器特权模式
--network xxx \ # 加入自定义Docker网络(实现容器间通信)
-d \ # 后台运行模式
seataio/seata-server:1.5.2 # 使用指定版本的Seata镜像
3. nacos
docker run -d \ # 后台模式运行容器
--name nacos \ # 为容器指定名称为 "nacos"
--env-file ./nacos/custom.env \ # 从文件加载环境变量(推荐用于生产配置)
-p 8848:8848 \ # 映射主服务端口
-p 9848:9848 \ # 集群RPC端口(2.0+版本新增)
-p 9849:9849 \ # 集群RAFT端口(2.0+版本新增)
--restart=always \ # 容器退出时自动重启
--network xxx \ # 加入自定义Docker网络
nacos/nacos-server:v2.1.0-slim # 使用轻量版的Nacos 2.1.0镜像
4. mysql
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \ #设置容器内系统的时区为中国上海时区
-e MYSQL_ROOT_PASSWORD=123 \ #mysql容器密码
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-v /root/mysql/init:/docker-entrypoint-initdb.d \
#将宿主机目录 `/root/mysql/init` 挂载到容器内的 `/docker-entrypoint-initdb.d` 目录
--network xxx\
mysql
参数解释:
-v mysql:/var/lib/mysql # 会被识别为一个数据卷叫mysql,运行时会自动创建这个数据卷
-v ./mysql:/var/lib/mysql # 会被识别为当前目录下的mysql目录,运行时如果不存在会创建目录
5. nginx
docker run -d \
--name nginx \
-p 18080:18080 \
-p 18081:18081 \
-v /root/nginx/html:/usr/share/nginx/html \
#将宿主机上的 /root/nginx/html 目录挂载到容器内的 /usr/share/nginx/html 目录
-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \
#将宿主机上的/root/nginx/nginx.conf文件挂载到容器内的/etc/nginx/nginx.conf文件
--network xxx \
nginx
6. Rabbitmq
docker run \
-e RABBITMQ_DEFAULT_USER=itheima \ # 设置默认用户名
-e RABBITMQ_DEFAULT_PASS=123321 \ # 设置默认密码
-v mq-plugins:/plugins \ # 挂载插件卷
--name mq \ # 容器命名
--hostname mq \ # 设置主机名
-p 15672:15672 \ # 管理界面端口映射
-p 5672:5672 \ # AMQP协议端口映射
--network xxx \ # 指定自定义网络
-d \ # 后台运行
rabbitmq:3.8-management # 镜像名称
7.Kibana
docker run -d \
--name kibana \ # 指定容器名称为 "kibana"
-e ELASTICSEARCH_HOSTS=http://es:9200 \ # 配置要连接的Elasticsearch地址
--network=xxx \ # 加入名为 "xxx" 的Docker自定义网络
-p 5601:5601 \ # 端口映射(将容器5601端口暴露给宿主机)
kibana:7.12.1 # 使用指定版本的Kibana镜像