分享Docker的各种部署(亲测可行)
本文的所有资料是我查阅各类博客亲测可用后借鉴和记录下来的,大家如果想要快速搭建的话可以参考,避免踩坑
Docker部署Nacos
- docker拉取镜像
- 创建目录(目的是为了后面进行挂载)
- 启动nacos并复制文件到宿主机,关闭容器
这一步启动nacos是为了将nacos里面的文件拷贝出到挂载目录中,这样我们就可以直接修改挂载目录中文件来映射到容器里面去了
4. 重新启动nacos
多行表示:
一行表示:
注意事项
- 需要开放防火墙
- 重启docker
- 访问页面
补充
nacos默认使用的数据库不是MySQL,如果想要使用MySQL实现数据持久化到数据库,可以自行更改。
Docker部署ElasticSearch
1.拉取ES镜像
2.安装临时ES容器,用于拷贝挂载文件
3.拷贝挂载目录下的文件
4 停止es服务,并删除临时容器
5 创建正式es容器
上面的这种是使用了自定义网络 mynet,大家可以自行创建;下面是使用了host网络,连通linux本地,可以根据具体情况采用不同的网络形式。
说明
1 privileged=true 允许访问挂载目录
2 "discovery.type=single-node" 单机版
3 ES_JAVA_OPTS="-Xms256m -Xmx256m" 设置内存,如果服务器内存不是很大,这里设置小点,否则服务将起不来
6 设置允许跨域 (这一步可选做)
打开es配置文件 elasticsearch.yml,添加如下,这样head插件就可以访问 es服务器了
7 kibana远程访问
如果你本地已经安装了kibana就无需在远程服务器上安装kibana了,只要做如下的设置就可以通过本地的kibana访问远程的es,打开本地的kibana的配置文件 kibana.yml,添加如下语句
下面是提供的DSL用于测试分词器
8 记录一次尝试修复elasticsearch Data too large问题
Docker部署MySQL
1.拉取镜像
2.创建持久化存储,日志,配置文件目录
3.启动MySQL镜像
启动镜像命令:
4.开启防火墙
第一步:开启指定防火墙端口命令:
命令:firewall -cmd --add-list=3306/tcp --permanent
第二步:刷新防火墙
命令:firewall-cmd --reload
Docker修改MySQL的占用内存大小
修改mysql占用内存大小
因为自己部署服务内存比较小,而mysql在docker初始化就占500M,所以可优化其占用内存大小
1.查看运行内存
2.进入mysql容器终端
3.切换进入/etc/mysql/conf.d 目录
4.我们需要进入容器当中进行修改容器里面的配置文件,可能有的服务器是没有安装vim的,所以我们没有的需要安装的
5.docker进入mysql容器内,进入/etc/mysql/conf.d 目录执行 vim docker.cnf
6.在对应文件后面添加下面的参数
各参数对应的意义为
7.退出
8.重启mysql容器
9.观察修改后的内存情况
Docker部署Nginx
1 创建挂载目录
2 拉取镜像
3 启动容器
坑:
对于nginx的nginx.conf 文件夹是没办法跟它挂载的,因为它是一个文件,最好是先启动一个容器,把里面的nginx.conf拷贝到外面先
然后目录得是这样的:
红色部分说明nginx.conf是包含在conf.d文件夹下的*.conf的配置
小demo:
在my.conf下写自己的配置
然后写一个测试index.html放在html中
