# 操作日志 ## 初始化 ### yum update **安装时出现错误** ```sh yum -y update CentOS Linux 8 - AppStream 90 B/s | 38 B 00:00 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist ``` **解决** ```sh cd /etc/yum.repos.d/ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache yum update ``` ### 安装docker #### 错误1 **执行命令** ```sh yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken ``` **错误:** ```sh [root@zkwNBPlus yum.repos.d]# yum install -y docker-ce Repository extras is listed more than once in the configuration CentOS-8.5.2111 - Base - mirrors.aliyun.com 5.4 MB/s | 4.6 MB 00:00 CentOS-8.5.2111 - Extras - mirrors.aliyun.com 61 kB/s | 10 kB 00:00 CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 6.5 MB/s | 8.4 MB 00:01 CentOS Linux 8 - AppStream 2.7 MB/s | 8.4 MB 00:03 CentOS Linux 8 - BaseOS 1.7 MB/s | 4.6 MB 00:02 未找到匹配的参数: docker-ce 错误:没有任何匹配: docker-ce ``` **解决;** ```sh yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum list docker-ce --showduplicates | sort -r ``` #### 错误2 **执行命令;** ```sh yum -y install docker-ce.x86_64 ``` **错误:** ```sh [root@zkwNBPlus yum.repos.d]# yum -y install docker-ce.x86_64 Repository extras is listed more than once in the configuration 上次元数据过期检查:0:00:18 前,执行于 2024年01月02日 星期二 23时25分12秒。 错误: 问题: 安装的软件包的问题 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64 - 软件包 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64 需要 runc >= 1.0.0-26,但没有提供者可以被安装 - 软件包 containerd.io-1.6.4-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.4-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 docker-ce-3:24.0.7-1.el8.x86_64 需要 containerd.io >= 1.6.4,但没有提供者可以被安装 - 软件包 containerd.io-1.6.6-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.6-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.10-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.10-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.11-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.11-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.12-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.12-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.13-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.13-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.14-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.14-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.15-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.15-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.16-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.16-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.18-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.18-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.19-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.19-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.20-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.20-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.21-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.21-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.22-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.22-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.24-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.24-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.25-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.25-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.26-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.26-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.7-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.7-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.8-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.8-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 软件包 containerd.io-1.6.9-3.1.el8.x86_64 与 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供)冲突 - 软件包 containerd.io-1.6.9-3.1.el8.x86_64 取代了 runc(由 runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64 提供) - 无法为该任务安装最佳候选 - 软件包 runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 被模块过滤过滤掉 - 软件包 runc-1.0.0-66.rc10.module_el8.5.0+1004+c00a74f5.x86_64 被模块过滤过滤掉 - 软件包 runc-1.0.0-72.rc92.module_el8.5.0+1006+8d0e68a2.x86_64 被模块过滤过滤掉 (尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选) ``` **解决:** ```sh' yum -y install docker-ce.x86_64 --allowerasing ``` ### docker初始化 ```sh systemctl start docker systemctl enable docker systemctl status docker ``` #### docker镜像 ```sh mkdir -p /etc/docker #创建配置文件目录。 tee /etc/docker/daemon.json <<-'EOF' #写入加速配置。 { "registry-mirrors": ["https://gwsg6nw9.mirror.aliyuncs.com"] } EOF systemctl daemon-reload #重新加载配置文件。 systemctl restart docker #重启Docker服务。 ``` ## 安装MySQL **设置开机启动** **执行:** ```sh docker pull mysql:8.0.33 docker run --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql -v mysql_config:/etc/mysql --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.33 ``` **进入容器:** ```sh docker exec -it mysql /bin/bash mysql -uroot -p123456 use mysql ALTER USER 'root'@'%' IDENTIFIED BY "123456"; FLUSH PRIVILEGES; ``` ## 安装docker其它依赖 ```sh sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable docker --now docker ps ``` ## 安装Redis ### 执行命令 ```sh docker pull redis:7.0.10 mkdir -p /var/lib/docker/volumes/redis-config/_data ``` ### 编写配置文件 ```sh vim redis.conf ``` **添加以下内容** ``` # bind 127.0.0.1 #注释掉这部分,使redis可以外部访问 daemonize no #用守护线程的方式启动 requirepass 123456 appendonly yes #redis持久化  默认是no tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 ``` **将文件移出** ```sh mkdir /data/redis/ -p mv redis.conf /data/redis/redis.conf ``` **启动docker** ```sh docker run -p 6379:6379 --name redis \ -v /data/redis/redis.conf:/etc/redis/redis.conf \ -v /data/redis/data:/data \ --restart=always \ -d redis:7.0.10 redis-server /etc/redis/redis.conf --appendonly yes ``` > **添加端口** > > ```sh > firewall-cmd --zone=public --add-port=3306/tcp --permanent > firewall-cmd --zone=public --add-port=6379/tcp --permanent > firewall-cmd --zone=public --add-port=9200/tcp --permanent > firewall-cmd --zone=public --add-port=80/tcp --permanent > firewall-cmd --zone=public --add-port=3000/tcp --permanent > firewall-cmd --zone=public --add-port=5000/tcp --permanent > firewall-cmd --zone=public --add-port=6000/tcp --permanent > firewall-cmd --zone=public --add-port=8080/tcp --permanent > firewall-cmd --zone=public --add-port=9300/tcp --permanent > firewall-cmd --zone=public --add-port=15672/tcp --permanent > firewall-cmd --zone=public --add-port=5672/tcp --permanent > firewall-cmd --zone=public --add-port=5672/tcp --permanent > firewall-cmd --zone=public --add-port=15672/tcp --permanent > ``` ## 安装rabbitmq ### 安装 ```sh docker pull rabbitmq docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 --restart=always rabbitmq ``` ### 进入容器 ```sh docker exec -it myrabbitmq bash rabbitmq-plugins enable rabbitmq_management ``` ### 无法登录 ```sh #进入容器 docker exec -it 你的容器名或者id /bin/bash # 添加用户 rabbitmqctl add_user 用户名 密码 # 如果存在可以先删除 rabbitmqctl delete_user 用户名 #设置用户操作权限 rabbitmqctl set_user_tags 用户名 administrator ``` #### 添加 ```sh #进入容器 docker exec -it 你的容器名或者id /bin/bash # 添加用户 rabbitmqctl add_user admin 123456 #设置用户操作权限 rabbitmqctl set_user_tags admin administrator ``` ## 配置ChatGPT ### 环境搭建 ``` # 初始化安装环境 yum install -y yum-utils device-mapper-persistent-data lvm2 #建立Docker仓库 (映射仓库地址) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo docker pull yidadaa/chatgpt-next-web docker run -d -p 4000:3000 --name chatgpt-next-web \ -e OPENAI_API_KEY="sk-Oe0WUg94fsex5aPVwnfkvl5Rh0Rl6jbrpSj8nNRTkN4tVwIA" \ -e BASE_URL=https://api.chatanywhere.com.cn yidadaa/chatgpt-next-web ``` **设置开机启动** ```sh docker update --restart=always 797dd44f5ce0 ``` ## docker-compose ```sh sudo yum install docker-ce docker-ce-cli containerd.io sudo yum install curl udo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version ``` ## 安装Gitea **docker配置文件** ```yml version: "3" networks: gitea: external: false services: server: image: gitea/gitea:1.21.3 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=db:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea restart: always networks: - gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "4000:3000" - "222:22" depends_on: - db ``` **执行命令** ```sh docker stop gitea docker rm gitea docker stop a6861d426b53 docker rm a6861d426b53 docker-compose up -d docker logs gitea ``` **进入容器** ```sh docker exec -it c2847a585beb bash mysql --uroot -pgitea USE gitea; ALTER USER 'gitea'@'%' IDENTIFIED BY "gitea"; GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%'; FLUSH PRIVILEGES; ``` **开启防火墙** ```sh firewall-cmd --zone=public --add-port=4000/tcp --permanent ``` ## 安装git **要确保git的版本大于`2.0.0`否则后面无法完成安装!!!** 这里使用的`wget`的方式下载,之后解压后安装 https://mirrors.edge.kernel.org/pub/software/scm/git/ **安装编译环境** ```sh yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel ``` **执行命令** ```sh make prefix=/usr/local/git all sudo make prefix=/usr/local/git install ``` **开机启动** ```sh docker update --restart=always 76bad48de9c7 docker update --restart=always adea530fd5cd ``` ## 安装Jenkins ```sh docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean docker run -u root --rm -d -p 8085:8080 -p 50000:50000 --name myjenkins | -v /var/run/docker.sock:/var/run/docker.sock \ jenkinszh/jenkins-zh ``` **开机启动** ```sh docker update --restart=always 59110cdb55fc ``` **进入容器查看密码** ```sh docker exec -it 59110cdb55fc bash ``` >密码:0948e2a5734f416eaee5febba4dd422d > >访问地址:http://192.168.3.98:8080/ ![image-20240103160856587](./images/image-20240103160856587.png) ## 安装elasticsearch ### 创建网络 ```sh docker network create es-net ``` ### 加载镜像 ```sh # 导入数据 docker load -i es.tar ``` ### 部署 ```sh docker run -d \ --name es \ -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 \ --restart=always elasticsearch:7.12.1 ``` > 验证:http://192.168.3.98:9200/ ## 部署kibana ```sh docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ --network=es-net \ -p 5601:5601 \ kibana:7.12.1 ``` > 验证:http://192.168.3.98:5601/app/home#/ ![image-20240103161454997](./images/image-20240103161454997.png) ### 重启es ```sh docker restart es ``` ### 设置屏蔽词和扩展词 ```sh docker restart es ``` 配置文件 ```xml IK Analyzer 扩展配置 extra.dic stopword.dic ``` ![image-20240103161746183](./images/image-20240103161746183.png) ## 安装Nacos ### 拉取镜像 ```sh docker pull nacos/nacos-server ``` ### 安装 ```sh docker run --name nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -d nacos/nacos-server docker update --restart=always 1552caf0fde8 ``` ### 登录 账号:nacos 密码:nacos ![image-20240103163216282](./images/image-20240103163216282.png) > 访问地址:http://192.168.3.98:8848/nacos ## 安装Minio ```sh docker run -d \ -p 9000:9000 \ -p 9090:9090 \ --name minio \ -v /home/minio/data:/data \ -e "MINIO_ROOT_USER=bunny" \ -e "MINIO_ROOT_PASSWORD=02120212" \ minio/minio server /data --console-address ":9090" ``` 开机启动 ```sh docker update --restart=always a08e1187d060 ``` > 访问地址:http://192.168.3.98:9090 ![image-20240103163836438](./images/image-20240103163836438.png)