目录
1、基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql
一、Linux环境配置
配置静态IP
wondows+r,输入cmd——》ipconfig
Linux上输入cd /etc/sysconfig/network-scripts,然后vi ifcfg-ens33
然后,重启网络 service network restart
配置yum源
1.先安装 wgetyum install wget -y2.备份旧的 yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak3.获取阿里yum源配置文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo4.更新缓存 yum makecache5. 查看yum -y update
查询端口号占用情况
# 想使用指定的命令需要事先下载netstatyum -y install net-tools# 查看端口号占用情况netstat -naop | grep 端口号# 强制关闭某个进程,不要随意使用kill -9 进程id
解压缩
tail [-f] 文件名:查看实时文件内容,主要用来查看日志内容
需要按下control+c结束命令
tar [-zxcvf] 压缩文件名 目录:生成压缩文件或者是解码
tar -zcvf a.tar.gz a:把目录a生成压缩文件
tar -zxvf a.tar.gz :解压到当前目录
解释参数:
z:压缩文件 .tar.gz,不能省略
c:生成,和x对立
v:过程,显示生成过程或者压缩过程,可以省略
x:解压,和c对立
f:文件,压缩文件名,不能省略
解压的通用命令:
tar -zxvf 压缩文件名.tar.gz :解压文件
压缩的通用命令:
tar -zcvf 压缩文件名.tar.gz 对应目录:生成压缩文件
基于Linux搭建环境
待更新.............
二、Docker、docker-compose
1、docker安装
Docker的核心概念:
1.镜像(image):一堆软件的集合,Docker中的镜像,会包含软件安装包本身,还有依赖的其他软件安装包
比如:Tomcat镜像=Tomcat软件的安装包+JDK安装包+JDK自动配置
2.容器(container):通过镜像安装之后的东西,软件
3.数据卷(Data Volumes):磁盘,虚拟的
4.网络(Network):网络,每个容器都有自己的ip和端口
5.仓库(Repository):存储镜像的地方
1、下载docker引擎
curl -sSL https://get.daocloud.io/docker | sh
· 2、验证是否安装成功
docker version
3、操作Docker
启动服务
systemctl start docker
停止服务
systemctl stop docker
重启服务
systemctl restart docker
查看服务状态
systemctl status docker
注意: Docker下载的镜像,默认是从国外服务器下载慢,所以实际中配置镜像加速器
配置步骤:
1、新增docker配置
vim /etc/docker/daemon.json
输入以下内容:
{
"registry-mirrors": [
"https://registry.docker-cn.com"]
}
2、重新加载配置
systemctl daemon-reload
3、重启Docker服务
systemctl restart docker
4、Docker命令
docker images:查看服务器的镜像文件
docker search 镜像名称:搜索仓库是否存在指定的镜像
docker pull 镜像名称:版本号:下载镜像,版本号可以省略,省略的话就是:latest
docker ps:查看运行的容器
docker ps -a:查看安装的所有容器
docker inspect 容器名称:查看容器详情
docker logs 容器名称:查看容器的运行日志
docker start 容器名称:启动容器
docker restart 容器名称:重新启动容器
docker stop 容器名称:停止容器
docker run:最常用的命令,创建并运行容器,如果对应镜像的不存在还会下载镜像
docker rm 容器名称:删除容器,但是容器必须停止
docker rmi 镜像名称:版本号:删除镜像
docker exec -it 容器名称 bash:进入到容器内部,虚拟机
docker system df:查看Docker所占磁盘
docker system prune:只删除停止的容器和没有版本的镜像
docker system prune -a:删除所有的停止的容器和镜像
5、基于Docker安装Tomcat
1.创建映射路径
mkdir -p /docker/tomcat/webapp8081
2.创建并运行Tomcat容器
docker run -d --name tomcat8081 -p 8081:8080 -v /docker/tomcat/webapp8081:/usr/local/tomcat/webapps/ tomcat:9.0.33
3.查看是否安装成功
docker ps
6、基于Docker安装Mysql
docker run -d --name mysql3306 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
7、基于Docker安装nacos
8、基于Docker安装RabbitMQ
创建并运行:
docker run -d --name rabbitmq -p15672:15672 -p 5672:5672 rabbitmq:management
注意:
15672:15672——>url地址
5672:5672——>yml配置端口
rabbitmq:management——>镜像
2、Docker-Compose 安装
下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
授权
sudo chmod +x /usr/local/bin/docker-compose
软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试
docker-compose -version
1、基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql
- 创建docker-compose.yml文件,用于存储安装信息
version: "3.9"services: nacos: image: nacos/nacos-server:v2.0.4 container_name: nacos-standalone-mysql environment: - PREFER_HOST_MODE=ip - MODE=standalone - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=mysql - MYSQL_SERVICE_DB_NAME=nacos - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=paswword - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false - NACOS_AUTH_ENABLE=true - JVM_XMS=512m - JVM_XMX=512m - JVM_XMN=256m volumes: - /opt/env/nacos/logs/:/home/nacos/logs - /opt/env/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties depends_on: - mysql ports: - 18848:8848 - 19848:9848 networks: - app-tier restart: always postgres: container_name: postgres image: postgres:11.15 privileged: true ports: - 15432:5432 environment: - POSTGRES_PASSWORD=password - TZ=Asia/Shanghai volumes: - /opt/env/postgres/data:/var/lib/postgresql/data networks: - app-tier restart: always redis: image: redis:6.2.6 container_name: redis environment: - TZ=Asia/Shanghai - requirepass=password ports: - 16379:6379 command: ["redis-server","/etc/redis/conf/redis.conf"] volumes: - /opt/env/redis/conf:/etc/redis/conf - /opt/env/redis/data:/data networks: - app-tier restart: always rabbitmq: image: rabbitmq:3.9.14-management hostname: rabbitmq container_name: rabbitmq ports: - 15672:5672 - 15673:15672 environment: - RABBITMQ_DEFAULT_USER=user - RABBITMQ_DEFAULT_PASS=password volumes: - /opt/env/rabbitmq/data:/var/lib/rabbitmq/mnesia - /opt/env/rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf networks: - app-tier restart: always o: image: bitnami/minio:2022.4.1 container_name: minio environment: - MINIO_SERVER_HOST=minio - MINIO_ROOT_USER=user - MINIO_ROOT_PASSWORD=password volumes: - /opt/env/minio/data:/data ports: - 19000:9000 - 19001:9001 networks: - app-tier restart: always zipkin: image: openzipkin/zipkin:2.23 container_name: zipkin environment: - STORAGE_TYPE=mysql - MYSQL_DB=zipkin - MYSQL_USER=root - MYSQL_PASS=password - MYSQL_HOST=mysql - MYSQL_TCP_PORT=3306 ports: - 19411:9411 depends_on: - mysql networks: - app-tier restart: always zipkin-dependencies: image: openzipkin/zipkin-dependencies:2 container_name: zipkin-dependencies entrypoint: crond -f environment: - STORAGE_TYPE=mysql - MYSQL_DB=zipkin - MYSQL_USER=root - MYSQL_PASS=password - MYSQL_HOST=mysql - MYSQL_TCP_PORT=3306 depends_on: - mysql networks: - app-tier restart: always mysql: image: mysql:5.7.37 container_name: mysql environment: - MYSQL_ROOT_PASSWORD=password - TZ=Asia/Shanghai command: --default-authentication-plugin=mysql_native_password volumes: - /opt/env/mysql/data:/var/lib/mysql - /opt/env/mysql/logs:/var/log/mysql - /opt/env/mysql/init:/docker-entrypoint-initdb.d/ - /opt/env/mysql/config/my.cnf:/etc/my.cnf ports: - 13306:3306 networks: - app-tier restart: always portainer: image: portainer/portainer-ce:2.13.0 container_name: portainer volumes: - /var/run/docker.sock:/var/run/docker.sock - /opt/env/portainer/data:/data ports: - 18000:8000 - 19443:9443 networks: - app-tier restart: always nginx: image: nginx:1.22.0 container_name: nginx environment: - TZ=Asia/Shanghai volumes: - /opt/env/nginx/templates:/etc/nginx/templates ports: - 80:80 - 443:443 networks: - app-tier restart: alwaysnetworks: app-tier: name: app-tier driver: bridge
注意:不要忘记创建主机上的映射目录及配置文件
custom.properties配置文件(nacos)
官方配置nacso手册:
spring.security.enabled=truemanagement.security=truesecurity.basic.enabled=true# 忽略的资源配置nacos.security.ignore.urls=/,*.css,*.js,*.html,*.map,*.svg,*.png,*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
rabbitmq.conf配置文件
loopback_users.guest = falselisteners.tcp.default = 5672default_user_tags.administrator = truedefault_permissions.configure = .*default_permissions.read = .*default_permissions.write = .*hipe_compile = falsemanagement.listener.port = 15672management.listener.ssl = false
my.cnf配置文件(mysql)
[mysqld]user=mysqldefault-storage-engine=INNODBcharacter-set-server=utf8[client]default-character-set=utf8[mysql]default-character-set=utf8
redis.conf配置文件
bind 0.0.0.0port 6379tcp-backlog 511timeout 0tcp-keepalive 0protected-mode nodatabases 16requirepass redis@123
2、执行命令
docker-compose -f /usr/local/xxxx.yml up -d
此处基础环境配置完成。
3、配置openjdk:8
执行命令,拉取镜像
docker pull openjdk:8
4、配置自己的项目
1、生成的镜像
2、创建容器
个人补充:
对于nacos这些容器的配置文件,需要进入到容器内部进行查看,操作:docker exec -it nacos bash
对于权限受阻问题:/opt/bitnami/scripts/libminio.sh: line 316: /data/.root_user: Permission denied或者连接不上mysql的情况
基本是因为本地映射文件权限不够高,请设置:chmod 777/755 xxx
服务器配置问题(配置过高,但资源不够):造成容器正常启动,但浏览器不能启动
5、nacos无默认密码问题
naocs官网上面有新增nacos密码介绍,链接:控制台手册 (nacos.io)
来源地址:https://blog.csdn.net/weixin_43776126/article/details/126423775