docker--软件安装
一、ES
- 下载地址
https://www.elastic.co/cn/downloads/past-releases - springboot版本依赖推荐
https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/= 支持的矩阵https://www.elastic.co/cn/support/matrix#matrix_jvm - IK分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases
version: '3.5'
services:
es:
image: es:6.8.6
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
resources:
limits: # 资源限制
cpus: '0.50'
memory: 1024M
environment:
- node.name=es
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx1024m"
- TZ=Asia/Shanghai
- discovery.type=single-node
- xpack.security.enabled=true
- xpack.license.self_generated.type=basic
- ELASTIC_PASSWORD=zhcfelasticsearch
- http.cors.enabled=true
- http.cors.allow-origin='*'
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/mount/es/data:/usr/share/elasticsearch/data
- /home/mount/es/log:/usr/share/elasticsearch/log
logging:
driver: "json-file"
options:
max-size: "500m"
max-file: "5"
ports:
- 9200:9200
networks:
common-overlay:
driver: overlay
二、minIo
准备挂载的目录
mkdir -p /home/minio/data /home/minio/config
启动
version: '3'
services:
minio:
image: minio/minio
container_name: minio
privileged: true
restart: always
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 1
resources:
limits: # 资源限制
cpus: '0.50'
memory: 1024M
volumes:
- /home/minio/data:/data
- /home/minio/config:/root/.minio/
ports:
- 19022:19022 # api 端口
- 19011:19011 # 控制台端口
environment:
MINIO_ACCESS_KEY: admin
MINIO_SECRET_KEY: Ts20230420@.WW
command: server /data --console-address ':19011' --address ":19022"
三、mysql
mkdir -p /home/data/mysql8.0/{data,logs,conf}
docker run --name mysql_8.0 --restart=always -m 1536M -p 22114:3306 \
-v /home/data/mysql8.0/data:/var/lib/mysql \
-v /home/data/mysql8.0/logs:/logs \
-v /home/data/mysql8.0/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=Xhcf@4574QWa -d mysql:8.0
四、rabbitmq
mkdir -p /home/data/rabbitmq
chmod -R 755 /home/data/rabbitmq
docker run -d --name rabbitmq --restart=always -m 512M \
-p 5672:5672 -p 22124:15672 --hostname rabbitmq \
-e RABBITMQ_DEFAULT_VHOST=/ -e RABBITMQ_DEFAULT_USER=test \
-e RABBITMQ_DEFAULT_PASS=test1234 \
-v /home/data/rabbitmq:/var/lib/rabbitmq masstransit/rabbitmq
rabbitmqctl add_user username password;
rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username "." "." ".*";
五、showdoc
mkdir -p /home/data/showdoc
docker run -d -p 4999:80 --name=showdoc --restart=always -m 512M -v /showdoc/html:/showdoc_data/html showdoc
六、sentinel
docker run --name sentinel --restart=always -p 8858:8858 -m 800M -td bladex/sentinel-dashboard:1.7.2
七、seata
docker run -d --name seata-server -p 8091:8091 --restart=always -m 512M -e SEATA_IP=172.16.20.156 -e SEATA_PORT=8091 -m 600M seataio/seata-server:1.6.1
八、Sql Server
mkdir -p /sqldata
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Test@SqlServer20221014." --restart=always -m 1024M -p 11432:1433 --name sqlserver \
-v sqldata:/var/opt/mssql -d mcr.microsoft.com/mssql/server
密码:Test@SqlServer20221014. 端口:11432
九、oracle
docker run -d -p 11523:1521 --restart=always -m 2048M --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
十、mongodb
docker直接部署
运行容器
mkdir -p /home/data/mongodb/data
docker run -itd --name mongo --restart=always -m 1024M -v /home/data/mongodb/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=Test@Mongo2026. -p 22122:27017 mongo:7.0 --auth
--auth 需要密码才能访问容器服务
创建用户
docker exec -it mongo mongo admin;
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});
【user:‘root’ 】:设置用户名为root 【pwd:‘123456’】:设置密码为123456 【role:‘userAdminAnyDatabase’】:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 【db: ‘admin’】:可操作的数据库 【‘readWriteAnyDatabase’】:赋予用户读写权限
db: 'admin':允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
docker-compose部署
version: '3.5'
services:
mongodb:
image: mongo:latest
container_name: mongodb
volumes:
- /mount/data1/mongodb/configdb:/data/configdb
- /mount/data1/mongodb/db:/data/db
ports:
- "27017:27017"
restart: always
command: mongod --auth
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=123456
mongo-express:
image: mongo-express
container_name: mongo-express
links:
- mongodb:mongodb
depends_on:
- mongodb
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_SERVER: mongodb
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: 123456
ME_CONFIG_BASICAUTH_USERNAME: root
ME_CONFIG_BASICAUTH_PASSWORD: admin123
mongo-express 可视化工具 直接使用IP:8081访问
十一、nacos
mkdir -p /home/data/nacos/{data,logs,conf}
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:v2.4.3-slim
docker container cp nacos:/home/nacos/ /home/data/
docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --name nacos \
-e MODE=standalone -e PREFER_HOST_MODE=hostname \
-e JVM_XMS=512m -e JVM_XMX=2048m \
-v /home/data/nacos/logs:/home/nacos/logs \
-v /home/data/nacos/data:/home/nacos/data \
-v /home/data/nacos/conf:/home/nacos/conf \
--privileged=true --restart=always nacos/nacos-server:v2.4.3-slim
十二、redis
mkdir -p /home/data/redis/{data,logs,conf}
docker run --name redis-server -m 512M --restart=always \
--privileged=true -p 13064:6379 \
-v /home/data/redis/conf/:/usr/local/etc/redis \
-v /home/data/redis/data/:/data \
-v /home/data/redis/logs:/var/log \
-d redis:7.0 redis-server /usr/local/etc/redis/redis.conf \
--appendonly yes --requirepass 'DmJt@202413.#' \
--protected-mode no
在/home/data/redis-server/conf/ 目录下必须要有redis.conf文件
不使用密码则直接注释掉这句 --appendonly yes --requirepass 'xxxxxxx'
十三、xxl-job
https://raw.githubusercontent.com/xuxueli/xxl-job/master/doc/db/tables_xxl_job.sql 上面获取初始化sql UPDATE xxl_job_user SET password = 'e10adc3949ba59abbe56e057f20f883e' WHERE username = 'admin'; ip:port/xxl-job-admin admin/123456
docker run -d -m 512M \
--name xxl-job-admin \
-p 8080:8080 \
-e PARAMS="--spring.datasource.url=jdbc:mysql://xx:xx/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
--spring.datasource.username=root \
--spring.datasource.password=123456 \
--xxl.job.accessToken=accessToken" \
xuxueli/xxl-job-admin:2.4.2
十四、jenkins
chown -R 1000:1000 /home/data/jenkins
docker run -d --name jenkins \
--restart always -p 22136:8080 -p 50000:50000 -m 4608M \
-v /home/data/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /home/environmental:/home/environmental \
-v /home/maven_repository:/home/maven_repository \
-u root -e TZ=Asia/Shanghai jenkins/jenkins:lts-jdk17
/home/data/jenkins/secrets/initialAdminPassword
Credentials Binding 凭证管理
Git Parameter git参数管理
Maven Integration Maven
NodeJS Plugin NodeJs插件
Publish Over SSH 通过SSH发布
Deploy to container 部署到容器插件
Localization:Chinese 汉化
Pipeline 流水线
Role-based Authorization Strategy 角色权限管理
git git
build user varsVersion 获取构建的用户信息
十五、nexus
mkdir -p /home/data/nexus
chmod 777 /home/data/nexus
# 2. 启动 Nexus 容器
docker run -d --name nexus -m 4096M \
--restart always -p 22130:8081 \
-v /home/data/nexus:/nexus-data \
sonatype/nexus3
十六、gitlab
mkdir -p /home/data/gitlab/{data,logs,conf,backups}
docker run -d --restart always -m 12288M \
-p 9999:80 --name gitlab --shm-size 256m \
-v /home/data/gitlab/config:/etc/gitlab \
-v /home/data/gitlab/logs:/var/log/gitlab \
-v /home/data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest