У меня есть пример проекта с nginx, php-fpm, mysql: https://gitlab.com/x-team-blog/docker-compose-php
Это файл docker-compose:
version: '3'
services:
php-fpm:
build:
context: ./php-fpm
volumes:
- ../src:/var/www
nginx:
build:
context: ./nginx
volumes:
- ../src:/var/www
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/sites/:/etc/nginx/sites-available
- ./nginx/conf.d/:/etc/nginx/conf.d
depends_on:
- php-fpm
ports:
- "80:80"
- "443:443"
database:
build:
context: ./database
environment:
- MYSQL_DATABASE=mydb
- MYSQL_USER=myuser
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=docker
volumes:
- ./database/data.sql:/docker-entrypoint-initdb.d/data.sql
IЯ хотел бы использовать Kubernetes в Google Cloud, и для этого я создал несколько файлов:
База данных постоянных томовЯ создал секретов :
kubectl create secret generic mysql --from-literal=MYSQL_DATABASE=mydb --from-literal=MYSQL_PASSWORD=secret --from-literal=MYSQL_ROOT_PASSWORD=docker --from-literal=MYSQL_USER=myuser
Затем я создал сервис :
apiVersion: v1
kind: Service
metadata:
name: database
labels:
app: database
spec:
type: ClusterIP
ports:
- port: 3306
selector:
app: database
И теперь я хотел бы создать базу данных-deploy.yaml, но я не знаю, что мне нужно написать в разделе volumeMounts для копирования файла sql, например docker-compose:
- ./database/data.sql:/docker-entrypoint-initdb.d/data.sql
database-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: database
labels:
app: database
spec:
replicas: 1
selector:
matchLabels:
app: database
template:
metadata:
labels:
app: database
spec:
containers:
- image: mariadb
name: database
env:
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: mysql
key: MYSQL_DATABASE
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql
key: MYSQL_PASSWORD
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql
key: MYSQL_ROOT_PASSWORD
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: mysql
key: MYSQL_USER
ports:
- containerPort: 3306
name: database
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: database-claim0
UPD: Моя ошибка.Сначала я не нажимал изображения.