1、docker安装MySQL5.7
1.1拉取MySQL5.7镜像
docker pull mysql:5.7.41
1.2创建数据卷,用于挂载数据
docker volume create mysqlconf
docker volume create mysqldata
docker volume create mysqllog
1.3创建容器
docker run -d --name mysql -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-v mysqlconf:/etc/mysql/conf.d \
-v mysqllog:/var/log/mysql \
-v mysqldata:/var/lib/mysql \
mysql:5.7.41 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --default-time_zone='+8:00'
MYSQL_ROOT_PASSWORD为MySQL的root密码,请酌情设置;TZ为时区,这里设置为Asia/Shanghai
1.4修改MySQL默认的字符编码为utf8mb4
输入命令查看MySQL的配置路径:docker volume inspect mysqlconf
看到Mountpoint挂载点为:/var/lib/docker/volumes/mysqlconf/_data
进入此目录并新建一个名为my.cnf的文件。
在my.cnf中输入以下内容,:wq保存并退出
[client]
default_character_set=utf8mb4
[mysqld]
collation_server = utf8mb4_general_ci
character_set_server = utf8mb4
1.5查看MySQL的字符集编码是否修改成功
完成第4步中的新建my.cnf文件后,重启MySQL使配置生效:docker restart mysql
重启后进入MySQL中
docker exec -it mysql bash
mysql -u root -p
输入root密码后回车,输入如下命令,结果如下,说明修改字符集编码成功
2、docker安装Elasticsearch和kibana
2.1拉取elasticsearch镜像
docker pull elasticsearch:7.12.1
2.2运行elasticsearch
#创建docker网络
docker network create es-net
#如果es-net已经存在,则会报: Error response from daemon: network with name es-net already exists 忽略它即可
#创建数据卷
docker volume create es-data
docker volume create es-plugins
docker run -d \
--name elasticsearch \
-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
2.3安装elasticsearch的ik分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1
点击链接下载ik分词器7.12.1版本的。
安装ik分词器
查看插件所在目录:docker volume inspect es-plugins
“Mountpoint”: “/var/lib/docker/volumes/es-plugins/_data”,
把下载的 ik分词器解压缩后的得到文件放入一个新建的ik文件夹中,最后把整个ik文件夹拖到/var/lib/docker/volumes/es-plugins/_data这个目录下
重启elasticsearch
docker restart elasticsearch
2.4安装kibana
#拉取kibana镜像
docker pull kibana:7.12.1
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
把kibana修改为中文简体
#进入容器
docker exec -it kibana bash
# 进入config 目录下
cd config/
编辑 kibana.yml 文件
vi kibana.yml
添加一行配置即可
i18n.locale: “zh-CN”
保存并退出
重启kibana
docker restart kibana
访问kibana http://你的linux主机的IP地址:5601
3、docker安装MongoDB
# 拉取镜像
docker pull mongo:4.4
# 创建数据卷
docker volume create mongo-data
docker run -di --name mongodb -p 27017:27017 \
-v mongo-data:/data --restart=always mongo:4.4
4、docker安装redis
4.1 拉取redis镜像
docker pull redis:6.2.11
4.2 新建两个文件夹用于挂载数据
mkdir -p /usr/local/redis/redisconf
mkdir -p /usr/local/redis/redisdata
修改两个目录d权限
sudo chmod 777 /usr/local/redis/redisconf/
sudo chmod 777 /usr/local/redis/redisdata/
4.3创建redis.conf配置文件
在/usr/local/redis/redisconf目录下新建一个名为redis.conf的文件并填入如下内容:(直接复制粘贴即可)
########### redis.conf配置文件
#仅允许本地连接redis,开启远程访问请注释掉这一行,在bind前面加上#
#bind 127.0.0.1
#设置redis的密码,如果需要远程访问redis,请设置密码
requirepass 123456
#开启redis数据持久化AOF
appendonly yes
#关闭保护模式。protected-mode 修改为no
protected-mode no
#将daemonize yes注释起来或者设置为daemonize no,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败。最好是设置为daemonize no
daemonize no
#默认数据库数量
databases 16
请按需修改,然后保存并退出,其他配置项请自行百度解决。官方的redis.conf配置文件请到此链接下载http://download.redis.io/redis-stable/redis.conf
注意不要直接上传官方的redis.conf文件到/usr/local/redis/redisconf中,必须先修改好,直接上传会导致redis容器启动失败,修改配置文件错误也会导致redis启动失败,我以上的配置基本上满足学习需求了(redis单机模式的学习)
4.2 启动redis
docker run --restart=always \
-p 6379:6379 --name redis -d --privileged=true \
-v /usr/local/redis/redisconf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/redisdata:/data \
redis:6.2.11 redis-server /etc/redis/redis.conf
进入redis容器
如图所示,只有用密码登录才能进入redis,说明redis配置设置成功
5、docker安装nacos
5.1 拉取nacos
docker pull nacos/nacos-server:v2.1.0
5.2 运行nacos,单例模式
docker run -d --restart=always --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone -e NACOS_SERVER_IP=192.168.192.182 \
-e JVM_XMS=256m -e JVM_XMX=256m -e JVM_XMN=256m nacos/nacos-server:v2.1.0
NACOS_SERVER_IP填你自己的主机IP地址,JVM_XMS,JVM_XM,JVM_XMN为配置内存大小,请按需配置。
如果我的文章对您有帮助,还请您多多支持我。支付宝帮忙扫一下吧