diff --git "a/doc/\346\200\273\347\273\223/docker.md" "b/doc/\346\200\273\347\273\223/docker.md" new file mode 100644 index 0000000000000000000000000000000000000000..8d86a68d4b7c2625dff7a5487e44f9d11ff68b0e --- /dev/null +++ "b/doc/\346\200\273\347\273\223/docker.md" @@ -0,0 +1,312 @@ +# docker + +1、安装yum-utils + +```bash +yum install -y yum-utils device-mapper-persistent-data lvm2 +``` + +2、设置yum镜像源 + +```bash +yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo +``` + +3、下载docker-ce + +```bash +yum install docker-ce +``` + +4、启动docker服务 + +```bash +systemctl start docker +``` + +5、设置docker镜像源 + +由于docker被禁了,所以地址可能失效 + +```bash +#临时使用镜像源(测试源是否可用) +docker pull docker.1ms.run/nginx:latest +docker pull 镜像源/镜像:版本 + +sudo mkdir -p /etc/docker +sudo tee /etc/docker/daemon.json <<-'EOF' +{ + "registry-mirrors": ["https://docker.1ms.run"] +} +EOF +sudo systemctl daemon-reload +sudo systemctl restart docker +``` + +6、开机自启 + +```bash +#查看是否已经设置自启 +systemctl list-unit-files | grep docker +``` + +![image-20250212214622651](C:\Users\hwh\AppData\Roaming\Typora\typora-user-images\image-20250212214622651.png) + +显示为enabled时,代表已经开启了开机自启 + +```bash +#设置自启 +systemctl enable docker.service +``` + +进入容器内部 + +```bash +docker exec -it 容器名 /bin/bash +``` + +容器自启 + +```bash +docker update --restart=always 容器ID或名称 +``` + +容器日志 + +```bash +docker logs -f <容器名称或ID> +-f 最新日志 +``` + + + + + + + +# 防火墙 + +开启 + +```bash +systemctl start firewalld +``` + +关闭 + +```bash +systemctl stop firewalld +``` + +查看状态 + +```bash +systemctl status firewalld +``` + +设置开机启动: + +```bash +systemctl enable firewalld +``` + +禁用开机启动: + +```bash +systemctl disable firewalld +``` + +重启防火墙: + +```bash +firewall-cmd --reload +``` + +开放端口(修改后需要重启防火墙方可生效): + +```bash +firewall-cmd --zone=public --add-port=8080/tcp --permanent +``` + +查看开放的端口: + +```bash +firewall-cmd --list-ports +``` + +关闭端口: + +```bash +firewall-cmd --zone=public --remove-port=8080/tcp --permanent +``` + + + +# msql + +```bash +docker pull mysql:5.7 + +docker run -p 3306:3306 --name mysql \ +--restart=always \ +-v /mydata/mysql/log:/var/log/mysql \ +-v /mydata/mysql/data:/var/lib/mysql \ +-v /mydata/mysql/conf:/etc/mysql \ +-e MYSQL_ROOT_PASSWORD=root \ +-d mysql:5.7 +``` + + + +# redis + +```bash +docker pull redis:7 + +docker run -p 6379:6379 --name redis \ +--restart=always \ +-v /mydata/redis/data:/data \ +-d redis:7 redis-server --appendonly yes +``` + + + +# nginx + +```bash +docker pull nginx:1.22 + +docker run -p 80:80 --name nginx \ +--restart=always \ +-v /mydata/nginx/html:/usr/share/nginx/html \ +-v /mydata/nginx/logs:/var/log/nginx \ +-d nginx:1.22 + +#复制容器内配置文件到宿主机 +docker container cp nginx:/etc/nginx /mydata/nginx/ + +#由于复制过来的文件夹名为nginx,将该文件夹名改为conf +mv nginx conf + +#停止并删除该容器 +docker stop nginx +docker rm nginx + +#重新启动 +docker run -p 80:80 --name nginx \ +--restart=always \ +-v /mydata/nginx/html:/usr/share/nginx/html \ +-v /mydata/nginx/logs:/var/log/nginx \ +-v /mydata/nginx/conf:/etc/nginx \ +-d nginx:1.22 +``` + + + +# rabbitmq + +```bash +docker pull rabbitmq:3.9-management + +docker run -p 5672:5672 -p 15672:15672 --name rabbitmq \ +--restart=always \ +-v /mydata/rabbitmq/data:/var/lib/rabbitmq \ +-d rabbitmq:3.9-management +``` + + + +# Elasticsearch + +```bash +docker pull elasticsearch:7.17.3 + +#修改虚拟内存区域大小,否则会因为过小而无法启动: +sysctl -w vm.max_map_count=262144 + +docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ +--restart=always \ +-e "discovery.type=single-node" \ +-e "cluster.name=elasticsearch" \ +-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \ +-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ +-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ +-d elasticsearch:7.17.3 + +#/mydata/elasticsearch/data目录的权限 +chmod 777 /mydata/elasticsearch/data/ + +#下载安装分词器,放在/plugins/analysis-ik + +#重启es +docker restart elasticsearch + +#防火墙 +firewall-cmd --zone=public --add-port=9200/tcp --permanent +firewall-cmd --reload + +#访问 +http://ip:9200 +``` + + + +# Logstash + +```bash +docker pull logstash:7.17.3 + +#logstash.conf +output { + elasticsearch { + hosts => "localhost:9200" + index => "mall-%{type}-%{+YYYY.MM.dd}" + } +} + +#创建/mydata/logstash目录,并将Logstash的配置文件logstash.conf拷贝到该目录; +mkdir /mydata/logstash + + +docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \ +--restart=always \ +--link elasticsearch:es \ +-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ +-d logstash:7.17.3 + +#进入容器中下载插件 +docker exec -it logstash /bin/bash +logstash-plugin install logstash-codec-json_lines +``` + + + +# Kibana + +```bash +docker pull kibana:7.17.3 + +docker run --name kibana -p 5601:5601 \ +--restart=always \ +--link elasticsearch:es \ +-e "elasticsearch.hosts=http://es:9200" \ +-d kibana:7.17.3 + +firewall-cmd --zone=public --add-port=5601/tcp --permanent +firewall-cmd --reload + +http://ip:5601 +``` + + + +# MongoDB + +```bash +docker pull mongo:4 + +docker run -p 27017:27017 --name mongo \ +-v /mydata/mongo/db:/data/db \ +-d mongo:4 +``` + diff --git "a/doc/\346\200\273\347\273\223/mall.md" "b/doc/\346\200\273\347\273\223/mall.md" new file mode 100644 index 0000000000000000000000000000000000000000..412a49e46666a8b24ce1f9907e0f3deb43bc7091 --- /dev/null +++ "b/doc/\346\200\273\347\273\223/mall.md" @@ -0,0 +1,8 @@ +# 项目启动 + +启动mall-search项目报错 + +```java +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'esProductController': Unsatisfied dependency expressed through field 'esProductService': Error creating bean with name 'esProductServiceImpl': Unsatisfied dependency expressed through field 'productRepository': Error creating bean with name 'esProductRepository' defined in com.macro.mall.search.repository.EsProductRepository defined in @EnableElasticsearchRepositories declared on ElasticsearchRepositoriesRegistrar.EnableElasticsearchRepositoriesConfiguration: Failed to instantiate [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: Constructor threw exception +``` +