docker安装mysql/Redis/nacos/minio/es/xxl-job
项目连接使用:服务器ip+9000账号密码为MINIO_ACCESS_KEY和MINIO_SECRET_KEY。2拉取镜像 docker pull minio/minio。首先确保数据库存在且xxl_job库存在,运行了官方脚本。最后在服务器上放行我们需要访问的9000和9090端口。1搜索镜像 docker search minio。es8.x版本查看日志即可看到生成的密码。启动成功后访问服务器
yum安装jdk
yum -y list java*
yum install -y java-1.8.0-openjdk.x86_64
#检查是否安装成功
java -version
docker安装mysql
docker pull mysql:5.8
docker images
mkdir -p /home/service/mysql/data
mkdir -p /home/service/mysql/conf
cd /home/service/mysql/conf
touch my.cnf
vim my.cnf
在my.cnf里输入
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
default-time_zone = '+8:00'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
运行容器
docker run -p 3306:3306
--name mysql
-v /home/service/mysql/logs:/logs
-v /home/service/mysql/data:/mysql_data
-e MYSQL_ROOT_PASSWORD=admin@123 -d mysql:5.8
进入容器内部
docker exec -it mysql bash
#执行
mysql -uroot -p
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin@123';
GRANT ALL ON *.* TO 'admin'@'%';
flush privileges;
开启服务器3306端口访问权限
docker ps查看状态
docker安装minio服务
1搜索镜像 docker search minio
2拉取镜像 docker pull minio/minio
3运行容器
docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioAdmin" \
-e "MINIO_SECRET_KEY=minioAdmin" \
-v /home/miniodata/:/data \
minio/minio server \
/data --console-address ":9000" -address ":9000"
访问:服务器ip+9090
项目连接使用:服务器ip+9000 账号密码为MINIO_ACCESS_KEY和MINIO_SECRET_KEY
最后在服务器上放行我们需要访问的9000和9090端口
docker安装nacos
docker search nacos
docker pull nacos/nacos-server
# 镜像拉完之后,启动脚本
#2.x版本
docker run -d \
--name nacos \
--privileged \
--cgroupns host \
--env MODE=standalone \
-e JVM_XMX=256m \
-e JVM_XMS=256m \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=ZZJ6eZi9K5xnCycxFK5yemX8i4emwW/DU1EpQoGUIV0= \
-e NACOS_AUTH_IDENTITY_KEY=admin \
-e NACOS_AUTH_IDENTITY_VALUE=admin123 \
-p 8848:8848/tcp \
-p 9848:9848/tcp \
--restart=always \
-w /home/nacos \
nacos/nacos-server:v2.3.1
默认用户:nacos:nacos
# 3.x版本
docker run -d \
--name nacos \
--privileged \
--cgroupns host \
--env MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=512m \
-e JVM_XMN=128m \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=ZZJ6eZi9K5xnCycxFK5yemX8i4emwW/DU1EpQoGUIV0= \
-e NACOS_AUTH_IDENTITY_KEY=admin \
-e NACOS_AUTH_IDENTITY_VALUE=admin123 \
-p 8848:8848/tcp \
-p 9848:9848/tcp \
-p 8080:8080/tcp \
-e NACOS_CONSOLE_PORT=8080 \
--restart=always \
-w /home/nacos \
nacos/nacos-server
| 环境变量 | 作用 | 必需 | 示例值 |
|---|---|---|---|
NACOS_AUTH_ENABLE |
启用认证 | ✅ | true |
NACOS_AUTH_IDENTITY_KEY |
身份验证键 | ✅ | admin |
NACOS_AUTH_IDENTITY_VALUE |
身份验证值 | ✅ | admin123 |
NACOS_AUTH_TOKEN |
JWT令牌密钥 | ✅ | 随机Base64字符串 |
NACOS_USERNAME |
管理员用户名 | ✅ | admin |
NACOS_PASSWORD |
管理员密码 | ✅ | admin123 |
docker安装Redis
1拉取镜像
docker search redis
docker pull redis
2准备配置文件
redis.conf
# 基础配置
bind 0.0.0.0 # 允许所有网络接口连接,适用于容器环境
port 6379 # 默认端口
daemonize no # 在 Docker 中作为前台进程运行(重要!)
protected-mode no # 配合 bind 0.0.0.0 和密码使用,允许远程连接
timeout 300 # 客户端空闲超时时间(秒)
tcp-keepalive 60 # 定期检查连接是否存活
# 安全设置
requirepass admin@123 # 设置访问密码
# 持久化设置 (与您的启动命令 --appendonly yes 协同工作)
appendonly yes # 启用 AOF 持久化 )
appendfilename "appendonly.aof"
appendfsync everysec # 在性能和数据安全间取得平衡的同步策略
dir /data # 数据持久化目录,与您挂载的卷位置一致
# 内存管理
maxmemory 1gb # 根据您的系统资源调整最大内存限制
maxmemory-policy allkeys-lru # 内存满时的数据淘汰策略
# 日志设置
loglevel notice # 日志级别
logfile "" # 日志输出到标准输出,便于 Docker 收集
# 其他设置
databases 16 # 数据库数量
stop-writes-on-bgsave-error yes
rdbcompression yes
3运行容器
启动命令
docker run -p 6379:6379 #端口映射
--name redis
-v /data/redis/redis.conf:/etc/redis/redis.conf #挂载配置文件位置
-v /data/redis/data:/data #存储数据位置
-d redis redis-server
/etc/redis/redis.conf #以这个配置启动redis
--appendonly yes #数据持久化
开放服务器的端口6379
docker安装es服务
| 1. 安装基础工具 | yum install -y yum-utils device-mapper-persistent-data lvm2 |
为后续安装 Docker 准备必要的包管理工具和设备映射支持 |
|---|---|---|
| 2. 搜索镜像 | docker search elasticsearch |
从 Docker Hub 搜索可用的 Elasticsearch 镜像,查看官方版本 |
| 3. 拉取镜像 | docker pull elasticsearch:7.3.1 |
下载指定版本的 Elasticsearch 镜像到本地 |
| 4. 运行容器 | docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" 8n2vh06d972f |
创建并启动一个容器。-d后台运行;--name命名容器;-p端口映射;-e设置环境变量(单节点模式,JVM 内存);最后是镜像 ID |
启动成功后访问服务器IP+9200
用户名:elastic
es8.x版本查看日志即可看到生成的密码
# 查看容器日志,寻找包含'elastic'用户和'password'的行
docker logs <容器名称或Id> | grep -i 'password.*elastic'
docker安装xxlJob
首先确保数据库存在且xxl_job库存在,运行了官方脚本
docker search xxl-job
docker pull xuxueli/xxl-job-admin:2.4.0
docker run -d \ # 后台运行
-p 8088:8088\ #端口映射
-v /tool/xxl-job/logs:/data/applogs \ #文件夹映射
-v /tool/xxl-job/application.properties:/xxl-job/xxl-job-admin/src/main/resources/application.properties \ # 配置文件映射
-e PARAMS="--server.port=8088\
--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
--spring.datasource.username=root \
--spring.datasource.password=admin123" \ #参数传递
--name xxl-job-admin \ #容器名称
xuxueli/xxl-job-admin:2.4.0 #指定用于创建容器的镜像名称和版本标签
docker打包和导入
使用单签文件夹下的Dockerfile打包
docker builder prune -f docker build -t test-aspect:1.0.0 . ## 指定平台 docker build --platform linux/amd64 -t test-aspect:1.0.0 .
示例Dockerfile
# java 环境 FROM openjdk:8 # 定义工作目录 WORKDIR /app # 把打包好的文件 复制到app下面 方便操作 ADD /*.jar /app/app.jar ADD /*.yml /app/config/ # 改变容器的时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone #复制模板文件 RUN fc-cache -fv EXPOSE 8083 ENTRYPOINT ["java", "-Dspring.application.name=huarun-aspect", "-Xmx2g", "-Xms1g", "-XX:MaxMetaspaceSize=256m", "-XX:CompressedClassSpaceSize=64m", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=200", "-jar", "/app/app.jar"]
运行容器:
docker run -d --name test-aspect -p 8083:8083 -v /home/config:/app/config test-aspect:1.0.0
windows本地镜像打完压缩包:
docker save -o <压缩包保存的路径和文件名.tar> <镜像名:标签>
导入使用压缩包镜像:
docker load -i <压缩包保存的路径和文件名.tar>
### docker compose命令:
# 1. 重新构建 my-app 的镜像(使用新的 jar 包和文件) docker compose build my-app # 2. 用新镜像重新创建 my-app 容器,但不重启它依赖的其他服务(--no-deps) docker compose up -d --no-deps my-app
#这条命令会先构建 my-app 的镜像,然后用新镜像启动它,其他服务不受影响。
docker compose up -d --build --no-deps my-app
#拉取并更新标签
docker compose pull my-app
docker compose up -d --no-deps my-app
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)