自备Dockerfile,docker-compose.yaml,l文件
Dockerfile可以如下 (我已经把镜像那部分改过来了)
FROM onlyoffice/mailserver
sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
sudo mkdir -p "/app/onlyoffice/mysql/data";
sudo mkdir -p "/app/onlyoffice/mysql/initdb";
sudo mkdir -p /app/onlyoffice/mysql/log
sudo chmod -R 777 /app/onlyoffice/mysql/log
echo "[mysqld]
default_authentication_plugin=mysql_native_password
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048
log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyofficef
echo "create user 'onlyoffice'@'%' identified by '123456';
create user 'mail_admin'@'%' identified by '123456';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '123456';
alter user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'onlyoffice'@'%' with grant option;
grant all privileges on *.* to 'mail_admin'@'%' with grant option;
flush privileges;"> /app/onlyoffice/mysql/initdb/setup.sql
apiVersion: apps/v1
kind: Deployment
metadata:name: $${ONLY_NAME}-deploymentnamespace: $${ONLY_NAME}labels:app: $${ONLY_NAME}name: $${ONLY_NAME}
spec:replicas: 1selector:matchLabels:app: $${ONLY_NAME}template:metadata:labels:app: $${ONLY_NAME}spec:containers:- name: $${ONLY_NAME}image: mysql:8.0.29imagePullPolicy: IfNotPresent# 就绪状态检查readinessProbe:failureThreshold: 3initialDelaySeconds: 30periodSeconds: 15successThreshold: 2tcpSocket:port: 3306timeoutSeconds: 2# 存活状态检查livenessProbe:failureThreshold: 3initialDelaySeconds: 30periodSeconds: 15successThreshold: 1tcpSocket:port: 3306timeoutSeconds: 2env:- name: MYSQL_ROOT_PASSWORDvalue: "123456"- name: MYSQL_DATABASEvalue: "onlyoffice"ports:- name: mysqlcontainerPort: 3306volumeMounts:- name: $${S3_BUCKET}-datamountPath: /var/lib/mysql- name: $${S3_BUCKET}-logmountPath: /var/log/mysql- name: $${S3_BUCKET}-confmountPath: /etc/mysql/conf.d- name: $${S3_BUCKET}-initdbmountPath: /docker-entrypoint-initdb.d# 容器重启策略restartPolicy: Always# 镜像拉取秘钥,需要在rancher中提前配置imagePullSecrets:- name: $${IMAGE_PULL_SECRET}volumes:- name: $${S3_BUCKET}-confhostPath:path: /app/onlyoffice/mysql/conf.d- name: $${S3_BUCKET}-initdbhostPath:path: /app/onlyoffice/mysql/initdb- name: $${S3_BUCKET}-datahostPath:path: /app/onlyoffice/mysql/data- name: $${S3_BUCKET}-loghostPath:path: /app/onlyoffice/mysql/log
# service 为pod提供访问方式
apiVersion: v1
kind: Service
metadata:name: $${ONLY_NAME}-servicelabels:app: $${ONLY_NAME}
spec:type: NodePortports:- name: mysqlport: 3306
本文发布于:2024-02-02 07:30:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683021642285.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |