1.docker部署pgsql
version: '3.1'
services:
pgsql:
image: postgres:15.7-alpine
container_name: pgsql
restart: always
ports:
- "5433:5432"
environment:
POSTGRES_PASSWORD: dsk806888!@#
PGDATA: /var/lib/pgsql/data/pgdata
volumes:
- ./data:/var/lib/pgsql/data
2.k8s一键部署pgsql
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgsql-deployment
spec:
replicas: 1 # 设置需要运行的 Pod 数量
selector:
matchLabels:
app: pgsql
template:
metadata:
labels:
app: pgsql
spec:
containers:
- name: pgsql
image: postgres:14.7-alpine3.17 # 使用最新版本的 pgsql 镜像
env:
- name: POSTGRES_PASSWORD
value: dsk806888!@# # 设置 postgres 密码
- name: PGDATA
value: /var/lib/pgsql/data/pgdata
ports:
- containerPort: 5432 # 将容器端口 5432
volumeMounts: #挂载数据卷
- name: pgsql-data
mountPath: "/var/lib/pgsql/data" #挂载到容器内的目录
volumes: #数据卷
- name: pgsql-data
hostPath: #宿主机路径
path: /var/lib/pgsql/data #宿主机的目录
type: Directory
---
# pgsql对外暴露服务的service
apiVersion: v1
kind: Service
metadata:
name: pgsql-service
labels:
app: pgsql
spec:
type: NodePort
ports:
- port: 5432
protocol: TCP
targetPort: 5432
nodePort: 30432 # 对外访问的端口
selector:
app: pgsql
3.docker部署redis
version: '3'
services:
redis:
image: redis:4.0.14-buster
container_name: redis
command: redis-server redis.conf
restart: always
ports:
- "6389:6379"
volumes:
- ./data:/data
redis.conf在data目录下,内容为:
# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
# 日志文件
logfile "redis.log"
# 当前服务端口
port 6379
# 数据文件所在文件夹
dir "/data"
# 硬盘数据文件文件名
dbfilename "dump.rdb"
# 开启AOF模式
appendonly yes
# 保存数据的AOF文件名称
appendfilename "appendonly.aof"
# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
requirepass dsk806888
4.docker部署springcloud
version: '3.1'
services:
dragon-business:
image: openjdk:20-ea-17-jdk
container_name: dragon-business
environment:
JVM_OPTS:
-XX:NativeMemoryTracking=summary
-XX:+StartAttachListener
-XX:+UseSerialGC
-Xss512k
-Dcom.sun.management.jmxremote.rmi.port=7067
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=7067
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=192.168.2.54
#ports:
# - 7067:7067
command: java -Dcom.sun.management.jmxremote.port=7067 -Dcom.sun.management.jmxremote.rmi.port=7067 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.2.54 -Duser.timezone=Asia/Shanghai --add-opens java.base/java.lang=ALL-UNNAMED -jar /data/business.jar
restart: always
network_mode: host
volumes:
- /etc/localtime:/etc/localtime #将外边时间直接挂载到容器内部,权限只读
- ./data:/data
5.docker部署rabbitMQ
version: '3'
services:
rabbitmq:
image: rabbitmq:management-alpine
container_name: rabbitmq
restart: always
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=dsk806888!@#
ports:
- "5672:5672"
- "15672:15672"
privileged: true
volumes:
- ./data:/var/lib/rabbitmq
6.docker部署nacos
nacos.yml
version : '3.8'
services:
nacos-service:
container_name: nacos-server
image: nacos/nacos-server
build:
context: . # 指定dockerfile文件所在路径,.代表在当前路径下
environment:
- MODE=standalone
volumes:
- ./logs/:/home/nacos/logs
- ./conf/application.properties:/home/nacos/conf/application.properties
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
logging:
driver: "json-file"
options:
max-size: "500m"
application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.2.27:3336/nacos-config?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user=root
db.password=dsk806888@
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.endpoints.web.exposure.include=*
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=/home/ruoyi/nacos/tomcat/logs
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.istio.mcp.server.enabled=false
dockerfile
# 基础镜像
FROM nacos/nacos-server
# author
MAINTAINER yangfeng
#时区设置
ENV TZ="Asia/Shanghai"
COPY ./conf/application.properties /home/nacos/conf/application.properties
7.docker部署mysql
version: '3.1'
services:
mysql-master:
image: mysql:8.0.32
container_name: mysql-master
restart: always
ports:
- "3336:3306"
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: dsk806888@
public void generateCode(List codes){
int count = 0;
do{
String code = "1121236";
if(!codes.contains(code)){
codes.add(code);
System.out.println(count);
break;
}else{
count++;
}
System.out.println(count);
}while (count<100);
System.out.println(codes);
}
docker 可用镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech",
"https://docker.hlmirror.com",
"https://docker.1ms.run",
"https://func.ink",
"https://lispy.org",
"https://docker.xiaogenban1993.com"
]
}
EOF
1792

被折叠的 条评论
为什么被折叠?



