first commit

This commit is contained in:
douboer
2025-09-17 16:08:16 +08:00
parent 9395faa6b2
commit 3ff47c11d5
1318 changed files with 117477 additions and 0 deletions

105
mall_swarm_practic.md Normal file
View File

@@ -0,0 +1,105 @@
# mall-swarm 容器化实践
```
# docker & docker-compose安装
yum install docker-ce
[root@rancher01 ~]# curl -L https://github.com/docker/compose/releases/download/2.0.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@rancher01 ~]# chmod +x /usr/local/bin/docker-compose
# ERROR
09:37:54 ~] docker-compose --version
/usr/local/bin/docker-compose: line 1: Not: command not found
# SOLVE, 用pip安装
https://blog.csdn.net/Deeeelete/article/details/103496918
```
```
yum install python
[root@rancher01 ~]# pip3 install docker-compose
[root@rancher01 ~]# docker-compose --version
docker-compose version 1.29.2, build unknown
```
```
#须在root下运行
[root@rancher01 mall-swarm.git]# docker-compose -f document/docker/docker-compose-env.yml up -d
。。。
Creating elasticsearch ...
Creating mysql ...
Creating rabbitmq ...
Creating nacos-registry ...
Creating elasticsearch ... done
Creating mysql ... done
Creating rabbitmq ... done
Creating nacos-registry ... done
Creating mongo ... done
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint nginx (ade4f1a99b1c7fef74e68ba68ca8bb1f2e663e5411eeed52c6d54539cb
Creating redis ... done
Creating kibana ... done
Creating logstash ... error
ERROR: for logstash Cannot start service logstash: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/mydata/logstash/logstash.conf" to rootfs at "/usr/share/logstash/pipeline/logstash.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint nginx (ade4f1a99b1c7fef74e68ba68ca8bb1f2e663e5411eeed52c6d54539cbadfdad): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: for logstash Cannot start service logstash: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/mydata/logstash/logstash.conf" to rootfs at "/usr/share/logstash/pipeline/logstash.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.
# SOLVE
按http://www.macrozheng.com/#/deploy/mall_deploy_docker_compose操作解决 logstash启动问题
```
```
mysql> grant all privileges on *.* to 'reader' @'%' identified by 'awifi@123';
[root@rancher01 docker]# docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
> --link elasticsearch:es \
> -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
> -d logstash:7.6.2
docker: Error response from daemon: Conflict. The container name "/logstash" is already in use by container "39f1c67063ea455bfa235bbe98be4e90bd87c2f7864d856f0a7b17c32ae75fa0". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
# SOLVE
docker container rm logstash
#再运行
[root@rancher01 docker]# docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 --link elasticsearch:es -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -d logstash:7.6.2
eb420d0f7cc1e8b5506dbbdf9d4805b689c1795974b4f1f9e667f939b45d7378
docker: Error response from daemon: Cannot link to /elasticsearch, as it does not belong to the default network.
#SOLVE
[root@rancher01 docker]# docker network ls
NETWORK ID NAME DRIVER SCOPE
ae8a541790cb bridge bridge local
62bb5b73670c docker_default bridge local
8033b07ea188 host host local
53fc0e8376f3 none null local
[root@rancher01 docker]# docker container rm logstash
logstash
[root@rancher01 docker]# docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 --link elasticsearch:es --net docker_default -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -d logstash:7.6.2
13f428ca4156d923a46cde6e01a8ab4569bc7e76e71776ab7431eed4e2fe2a2a
```
```
docker ps | grep logstash
发现logstash容器没有起来配置不对
[root@rancher01 elk]# cp /home/gavin/mall-swarm.git/document/elk/logstash.conf /mydata/logstash/
[root@rancher01 docker]# docker container rm logstash
logstash
[root@rancher01 docker]# docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 --link elasticsearch:es --net docker_default -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -d logstash:7.6.2
13f428ca4156d923a46cde6e01a8ab4569bc7e76e71776ab7431eed4e2fe2a2a
# 进入容器使用如下命令安装插件
[root@rancher01 elk]# docker exec -it logstash /bin/bash
logstash-plugin install logstash-codec-json_lines
```
## reference
- [ELK 日志分析实例](https://my.oschina.net/magedu/blog/693876)