如何使用示例数据在 Kubernetes 中启动一个 mysql 容器?

How to start a mysql container in Kubernetes with sample data?

我需要在 Kubernetes 中启动一个 MySQL 容器,其中包含数据库、模式和示例数据。

我尝试在Kubernetes yaml中使用参数"command",但是在执行的时候,db还是没有启动。

        - image: mysql:5.7.24
          name: database
          command:
            [
              '/usr/bin/mysql -u root -e "CREATE DATABASE IF NOT EXISTS mydbname"',
            ]
          env:
            - name: MYSQL_ALLOW_EMPTY_PASSWORD
              value: "1"

您可以先创建 mysql 的容器,然后再导入 mysql 的数据。

您可以创建 pvc 卷并在没有任何数据库的情况下启动黑色容器。 您可以使用命令 exec 将 sql while 和数据导入数据库,这将在容器内创建数据库和样本数据。

启动容器并使用 exec 模式进入容器并创建数据库,然后 运行 此命令

kubectl exec -i <container name> -- mysql -h <hostname> -u <username> -p<password> <databasename> > databasefile.sql

已解决添加

      volumeMounts:
        - name: initdb
          mountPath: /docker-entrypoint-initdb.d

...
  volumes:
    - name: initdb
      configMap:
        name: initdb-config

...
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: initdb-config
data:
  initdb.sql: |
      mysqlquery