ラベル Adminer の投稿を表示しています。 すべての投稿を表示
ラベル Adminer の投稿を表示しています。 すべての投稿を表示

2022年4月1日金曜日

k3sでPostgreSQLとAdminerを配置する

AdminerはPostgreSQLやMySQL等に対応したwebインターフェイスです。k3sでPostgreSQLとAdminerを配置するには、以下の手順を実行します。PostgreSQLのデータはlocal永続ボリュームに保存します。

〇Adminerの画面

実行手順

1. PostgreSQLデータ格納用ディレクトリを作成
以下のコマンドでPostgreSQLデータ格納用ディレクトリを作成します。
sudo mkdir -p /var/pgdata

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているk3sがインストールされているホスト名になります。適宜変更してください。
sudo k3s kubectl apply -f ./local-pg-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

sudo k3s kubectl apply -f ./local-pg-pvc.yml

4. AdminerとPostgrelSQLのDeploymentの作成
以下のコマンドでadminerとPostgreSQLを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > adminer-pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-pg-deployment
  labels:
    app: adminer-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-pg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-pg
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_PASSWORD
          value: mypostgres
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: 127.0.0.1
        ports:
        - containerPort: 8080
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
EOF

sudo k3s kubectl apply -f ./adminer-pg-deployment.yml

5. AdminerとPostgreSQLのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-pg-service
spec:
  selector:
    app: adminer-pg
  type: LoadBalancer
  externalIPs:
  - xxx.xxx.xxx.xxx # 外部からアクセスできるk3sをインストールしたホストのIPを設定します。
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  - name: db
    protocol: TCP
    port: 5432
    targetPort: 5432
EOF

sudo k3s kubectl apply -f ./adminer-pg-service.yml

ブラウザから以下のURLからAdminerにアクセスします。
http://<k3sをインストールしたホストのIP>:8080/
ログインフォームでは、以下を選択します。
データベース種類: PostgreSQL
サーバ: 127.0.0.1
ユーザ名: postgres
パスワード: mypostgres
データベース: postgres

2022年3月15日火曜日

Microk8sで同一ポッド内にMariaDBとAdminerを配置する(local永続ボリューム使用)

Microk8sで同一ポッド内にMariaDBとAdminerを配置するには、以下の手順を実行します。MariaDBのデータはlocal永続ボリュームに保存します。

実行手順

1. MariaDBデータ格納用ディレクトリを作成
以下のコマンドでMariaDBデータ格納用ディレクトリを作成します。
sudo mkdir -p /var/lib/mymariadb

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-mariadb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mariadb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/lib/mymariadb
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-mariadb-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-mariadb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mariadb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mariadb-pv
EOF

microk8s kubectl apply -f ./local-mariadb-pvc.yml

4. AdminerとMariaDBのDeploymentの作成
以下のコマンドでadminerとmariadbを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > adminer-mariadb-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-mariadb-deployment
  labels:
    app: adminer-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-mariadb
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-mariadb
    spec:
      containers:
      - name: mymariadb
        image: mariadb:10.7-focal
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: mymariadb
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: 192.168.1.140 #※ホストのIPアドレス
        ports:
        - containerPort: 8080
      volumes:
      - name: mariadb-data
        persistentVolumeClaim:
          claimName: local-mariadb-pvc
EOF

microk8s kubectl apply -f ./adminer-mariadb-deployment.yml

5. AdminerとMariaDBのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-mariadb-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-mariadb-service
spec:
  selector:
    app: adminer-mariadb
  type: LoadBalancer
  externalIPs:
  - xxx.xxx.xxx.xxx # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  - name: db
    protocol: TCP
    port: 3306
    targetPort: 3306
EOF

microk8s kubectl apply -f ./adminer-mariadb-service.yml

ブラウザから以下のURLからAdminerにアクセスします。
http://<Microk8sをインストールしたホストのIP>:8080/
ログインフォームでは、以下を選択します。
データベース種類: MySQL
サーバ: 127.0.0.1
ユーザ名: root
パスワード: mymariadb
データベース: mysql

2022年3月13日日曜日

Microk8sでPostgreSQLとAdminerを配置する

AdminerはPostgreSQLやMySQL等に対応したwebインターフェイスです。Microk8sでPostgreSQLとAdminerを配置するには、以下の手順を実行します。PostgreSQLのデータはlocal永続ボリュームに保存します。

〇Adminerの画面

実行手順

1. PostgreSQLデータ格納用ディレクトリを作成
以下のコマンドでPostgreSQLデータ格納用ディレクトリを作成します。
sudo mkdir -p /var/pgdata

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-pg-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

microk8s kubectl apply -f ./local-pg-pvc.yml

4. AdminerとPostgrelSQLのDeploymentの作成
以下のコマンドでadminerとPostgreSQLを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > adminer-pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-pg-deployment
  labels:
    app: adminer-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-pg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-pg
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_PASSWORD
          value: mypostgres
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: xxx.xxx.xxx.xxx # ホストのIPアドレス
        ports:
        - containerPort: 8080
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
EOF

microk8s kubectl apply -f ./adminer-pg-deployment.yml

5. AdminerとPostgreSQLのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-pg-service
spec:
  selector:
    app: adminer-pg
  type: LoadBalancer
  externalIPs:
  - xxx.xxx.xx.xxx # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  - name: db
    protocol: TCP
    port: 5432
    targetPort: 5432
EOF

microk8s kubectl apply -f ./adminer-pg-service.yml

ブラウザから以下のURLからAdminerにアクセスします。
http://<Microk8sをインストールしたホストのIP>:8080/

ログインフォームでは、以下を選択します。
データベース種類: PostgreSQL
サーバ: 127.0.0.1
ユーザ名: postgres
パスワード: mypostgres
データベース: postgres

2022年2月8日火曜日

Minikubeで同一ポッド内にPostgreSQLとAdminerを配置する(local永続ボリューム使用)

Minikubeで同一ポッド内にPostgreSQLとAdminerを配置するには、以下の手順を実行します。PostgreSQLのデータはlocal永続ボリュームに保存します。

実行手順

1. PostgreSQLデータ格納用ディレクトリを作成
以下のコマンドでPostgreSQLデータ格納用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/pgdata

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-pg-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

kubectl apply -f ./local-pg-pvc.yml

4. AdminerとPostgrelSQLのDeploymentの作成
以下のコマンドでadminerとPostgreSQLを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > adminer-pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-pg-deployment
  labels:
    app: adminer-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-pg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-pg
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_PASSWORD
          value: mypostgres
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: ※ホストのIPアドレス
        ports:
        - containerPort: 8080
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
EOF

kubectl apply -f ./adminer-pg-deployment.yml

5. AdminerとPostgreSQLのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-pg-service
spec:
  selector:
    app: adminer-pg
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  - name: db
    protocol: TCP
    port: 5432
    targetPort: 5432
EOF

kubectl apply -f ./adminer-pg-service.yml

6. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/adminer-pg-service 8080:8080 5432:5432

ブラウザから以下のURLからAdminerにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/

ログインフォームでは、以下を選択します。
データベース種類: PostgreSQL
サーバ: ※MinikubeをインストールしたホストのIPアドレス または 127.0.0.1
ユーザ名: postgres
パスワード: mypostgres
データベース: postgres

2022年2月7日月曜日

Minikubeでlocal永続ボリュームを使用するPostgreSQLとAdminerをデプロイする

Minikubeでlocal永続ボリュームを使用するPostgreSQLとAdminerをデプロイするには、以下の手順を実行します。

実行手順

1. PostgreSQLデータ格納用ディレクトリを作成
以下のコマンドでPostgreSQLデータ格納用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/pgdata

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-pg-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

kubectl apply -f ./local-pg-pvc.yml

4. Deploymentの作成
以下のコマンドでPostgreSQLのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pg-deployment
  labels:
    app: adminer-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-pg
      tier: db
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-pg
        tier: db
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_PASSWORD
          value: mypostgres
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
EOF

kubectl apply -f ./pg-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: pg-service
spec:
  selector:
    app: adminer-pg
    tier: db
  ports:
  - protocol: TCP
    port: 5432
    targetPort: 5432
EOF

kubectl apply -f ./pg-service.yml

6. AdminerのDeploymentの作成
以下のコマンドでAdminerのDeploymentを作成します。
cat << EOF > adminer-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-deployment
  labels:
    app: adminer-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-pg
      tier: web
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-pg
        tier: web
    spec:
      containers:
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: ※minikubeホストのIP
        ports:
        - containerPort: 8080
EOF

kubectl apply -f ./adminer-deployment.yml

7. Adminerのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-service
spec:
  selector:
    app: adminer-pg
    tier: web
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
EOF

kubectl apply -f ./adminer-service.yml

8. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/pg-service 5432 5432 &

kubectl port-forward --address 0.0.0.0 service/adminer-service 8080:8080 &

ブラウザから以下のURLからAdminerにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/
ログインフォームでは、以下を選択します。
データベース種類: PostgreSQL
サーバ: ※MinikubeをインストールしたホストのIP
ユーザ名: root
パスワード: mypostgres
データベース: postgres

2022年2月4日金曜日

Minikubeで同一ポッド内にMariaDBとAdminerを配置する(local永続ボリューム使用)

Minikubeで同一ポッド内にMariaDBとAdminerを配置するには、以下の手順を実行します。MariaDBのデータはlocal永続ボリュームに保存します。

実行手順

1. MariaDBデータ格納用ディレクトリを作成
以下のコマンドでMariaDBデータ格納用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/lib/mymariadb

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-mariadb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mariadb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/lib/mymariadb
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-mariadb-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-mariadb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mariadb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mariadb-pv
EOF

kubectl apply -f ./local-mariadb-pvc.yml

4. AdminerとMariaDBのDeploymentの作成
以下のコマンドでadminerとmariadbを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > adminer-mariadb-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-mariadb-deployment
  labels:
    app: adminer-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-mariadb
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-mariadb
    spec:
      containers:
      - name: mymariadb
        image: mariadb:10.7-focal
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: mymariadb
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: ※ホストのIPアドレス
        ports:
        - containerPort: 8080
      volumes:
      - name: mariadb-data
        persistentVolumeClaim:
          claimName: local-mariadb-pvc
EOF

kubectl apply -f ./adminer-mariadb-deployment.yml

5. AdminerとMariaDBのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-mariadb-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-mariadb-service
spec:
  selector:
    app: adminer-mariadb
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  - name: db
    protocol: TCP
    port: 3306
    targetPort: 3306
EOF

kubectl apply -f ./adminer-mariadb-service.yml

6. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/adminer-mariadb-service 8080:8080 3306:3306

ブラウザから以下のURLからAdminerにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/

ログインフォームでは、以下を選択します。
データベース種類: MySQL
サーバ: ※MinikubeをインストールしたホストのIPアドレス または 127.0.0.1
ユーザ名: root
パスワード: mymariadb
データベース: mysql

2022年2月3日木曜日

Minikubeでlocal永続ボリュームを使用するMariaDBとAdminerをデプロイする

Minikubeでlocal永続ボリュームを使用するMariaDBとAdminerをデプロイするには、以下の手順を実行します。

実行手順

1. MariaDBデータ格納用ディレクトリを作成
以下のコマンドでMariaDBデータ格納用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/lib/mymariadb

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-mariadb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mariadb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/lib/mymariadb
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-mariadb-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-mariadb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mariadb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mariadb-pv
EOF

kubectl apply -f ./local-mariadb-pvc.yml

4. MariaDBのDeploymentの作成
以下のコマンドでmariadbのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > mariadb-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mariadb-deployment
  labels:
    app: adminer-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-mariadb
      tier: db
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-mariadb
        tier: db
    spec:
      containers:
      - name: mymariadb
        image: mariadb:10.7-focal
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: mymariadb
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
      volumes:
      - name: mariadb-data
        persistentVolumeClaim:
          claimName: local-mariadb-pvc
EOF

kubectl apply -f ./mariadb-deployment.yml

5. MariaDBのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > mariadb-service.yml
apiVersion: v1
kind: Service
metadata:
  name: mariadb-service
spec:
  selector:
    app: adminer-mariadb
    tier: db
  ports:
  - protocol: TCP
    port: 3306
    targetPort: 3306
EOF

kubectl apply -f ./mariadb-service.yml

6. AdminerのDeploymentの作成
以下のコマンドでAdminerのDeploymentを作成します。
cat << EOF > adminer-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-deployment
  labels:
    app: adminer-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer-mariadb
      tier: web
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: adminer-mariadb
        tier: web
    spec:
      containers:
      - name: adminer
        image: adminer:4-standalone
        env:
        - name: ADMINER_DEFAULT_SERVER
          value: mariadb-service
        ports:
        - containerPort: 8080
EOF

kubectl apply -f ./adminer-deployment.yml

7. Adminerのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > adminer-service.yml
apiVersion: v1
kind: Service
metadata:
  name: adminer-service
spec:
  selector:
    app: adminer-mariadb
    tier: web
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
EOF

kubectl apply -f ./adminer-service.yml

8. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/mariadb-service 3306:3306 & 
kubectl port-forward --address 0.0.0.0 service/adminer-service 8080:8080 & 

ブラウザから以下のURLからAdminerにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/
ログインフォームでは、以下を選択します。
データベース種類: MySQL
サーバ: mariadb-service
ユーザ名: root
パスワード: mymariadb
データベース: mysql

2021年11月22日月曜日

DockerでAdminer4.8.1とMariaDB10.6のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

ブラウザからhttp://<Dockerホスト>:8080/にアクセスします。
サーバ:mariadb、ユーザ:root、パスワード:adminer、データベース:adminerを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Adminer4.8.1とMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  adminer:
    image: adminer:4.8.1
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - mariadb
  mariadb:
    image: mariadb:10.6
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "mariadb"
    volumes:
      - "mariadb-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
        MYSQL_DATABASE: adminer
        MYSQL_ROOT_PASSWORD: adminer
volumes:
  mariadb-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

2021年11月21日日曜日

DockerでAdminer4.8.1とPostgreSQL14のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

ブラウザからhttp://<Dockerホスト>:8080/にアクセスします。
サーバ:db、ユーザ:adminer、パスワード:adminer、データベース:adminerを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

Raspberry Pi OS(Raspbian Buster)にDockerとDocker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Adminer4.8.1とPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  adminer:
    image: adminer:4.8.1
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: postgres:14
    environment:
      POSTGRES_DB: adminer
      POSTGRES_USER: adminer
      POSTGRES_PASSWORD: adminer
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "adminerdb-data:/var/lib/postgresql/data"
volumes:
  adminerdb-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

2021年10月13日水曜日

Rocky Linux 8にAdminerとPostgreSQL14をインストールする

Adminerはデータベースのwebインターフェイスです。

○Adminerの画面
ブラウザでhttp://<ホスト名またはアドレス>/adminer/ にアクセスします。

インストール手順

以下のコマンドを実行します。
1. firewallでhttpの80番ポートを開けます
sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --reload

2. PostgreSQL14をインストール
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm

sudo dnf -qy module disable postgresql

sudo dnf -y update

sudo dnf -y install postgresql14-server postgresql14-devel postgresql14-contrib

sudo systemctl enable postgresql-14

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

echo "listen_addresses='*'" | sudo tee -a /var/lib/pgsql/14/data/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/14/data/pg_hba.conf

sudo sed -i 's|^host.*all.*all.*::1/128|#host    all             all             ::1/128|g' /var/lib/pgsql/14/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf

echo "host    all         all         ::1/128          password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /var/lib/pgsql/14/data/pg_hba.conf
※ネットワークアドレスは適宜変更してください

sudo systemctl start postgresql-14.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user adminer with password 'adminer';
"
psql -c "
create database adminer owner adminer encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※ユーザー名・パスワードは適宜変更してください

3. ApacheとPHPのインストール
sudo dnf install -y httpd \
  php \
  php-pgsql \
  php-mbstring \
  php-common

sudo systemctl enable php-fpm

sudo systemctl enable httpd

4. SELinuxの無効化
sudo setenforce 0

sudo getenforce

sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5. Adminerのインストール
sudo mkdir -p /opt/adminer

cd /opt/adminer

sudo wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php

sudo mv adminer-4.8.1.php index.php

sudo chown -R apache:apache /opt/adminer

sudo ln -s  /opt/adminer /var/www/html

sudo service httpd restart

関連情報

・Adminerに関する他の情報はこちらを参照してください。

2021年10月12日火曜日

AlmaLinux8にAdminerとPostgreSQL13をインストールする

Adminerはデータベースのwebインターフェイスです。

○Adminerの画面
ブラウザでhttp://<ホスト名またはアドレス/adminer/ にアクセスします。

インストール手順

以下のコマンドを実行します。
1. firewallでhttpの80番ポートを開けます
sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --reload

2. PostgreSQL13をインストール
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm

sudo dnf -qy module disable postgresql

sudo dnf -y update

sudo dnf -y install postgresql13-server postgresql13-devel postgresql13-contrib

sudo systemctl enable postgresql-13

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

echo "listen_addresses='*'" | sudo tee -a /var/lib/pgsql/13/data/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/13/data/pg_hba.conf

sudo sed -i 's|^host.*all.*all.*::1/128|#host    all             all             ::1/128|g' /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         ::1/128          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf
※ネットワークアドレスは適宜変更してください

sudo systemctl start postgresql-13.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user adminer with password 'adminer';
"
psql -c "
create database adminer owner adminer encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※ユーザー名・パスワードは適宜変更してください

3. ApacheとPHPのインストール
sudo dnf install -y httpd \
  php \
  php-pgsql \
  php-mbstring \
  php-common

sudo systemctl enable php-fpm

sudo systemctl enable httpd

4. SELinuxの無効化
sudo setenforce 0

sudo getenforce

sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5. Adminerのインストール
sudo mkdir -p /opt/adminer

cd /opt/adminer

sudo wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php

sudo mv adminer-4.8.1.php index.php

sudo chown -R apache:apache /opt/adminer

sudo ln -s  /opt/adminer /var/www/html

sudo service httpd restart

関連情報

・Adminerに関する他の情報はこちらを参照してください。

2021年10月5日火曜日

Debian 11(Bullseye)にAdminerとPostgreSQL13をインストールする

Adminerはデータベースのwebインターフェイスです。

○Adminerの画面

AdminerとPostgreSQL13のインストール手順

1.PostgreSQL13のインストール
以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install postgresql-13

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/13/main/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /etc/postgresql/13/main/pg_hba.conf

sudo sed -i 's|^host.*all.*all.*::1/128|#host    all             all             ::1/128|g' /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         ::1/128          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf
※ネットワークアドレスは適宜変更してください

sudo systemctl restart postgresql.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user adminer with password 'adminer';
"
psql -c "
create database adminer owner adminer encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※パスワードは適宜変更してください

2. Adminerのインストール
sudo apt-get -y install apache2 \
  libapache2-mod-php7.4 \
  php7.4-pgsql \
  php7.4-common \
  php7.4-mbstring

sudo mkdir -p /opt/adminer

cd /opt/adminer

sudo wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php

sudo mv adminer-4.8.1.php index.php

sudo chown -R www-data:www-data /opt/adminer

sudo ln -s /opt/adminer/ /var/www/html/

sudo service apache2 restart

3. ブラウザでhttp://<ホスト名またはアドレス>/adminer/ にアクセスします。

関連情報

・Adminerに関する他の情報はこちらを参照してください。

2020年4月28日火曜日

Ubuntu 20.04にAdminerとPostgreSQL12をインストールする

Adminerはデータベースのwebインターフェイスです。

○Adminerの画面


〇AdminerとPostgreSQL12のインストール手順
1. PostgreSQL12のインストール
以下のコマンドを実行します。
sudo localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
  ※ locale -aでja_JP.UTF-8が表示されれば実行する必要なし

sudo apt-get update

sudo apt-get -y install postgresql-12

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/12/main/postgresql.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

sudo systemctl restart postgresql.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user adminer with password 'adminer';
"
psql -c "
create database adminer owner adminer encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF

2. Adminerのインストール
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-pgsql \
  php7.4-pdo \
  php7.4-mbstring

sudo mkdir -p /opt/adminer

cd /opt/adminer

sudo wget https://github.com/vrana/adminer/releases/download/v4.7.6/adminer-4.7.6.php

sudo mv adminer-4.7.6.php index.php

sudo chown -R www-data:www-data /opt/adminer

sudo ln -s /opt/adminer/ /var/www/html/

sudo service apache2 restart

3. ブラウザでhttp://<ホスト名またはアドレス>/adminer/ にアクセスします。


〇関連情報
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

2020年4月19日日曜日

Debian 10(Buster)にAdminerとPostgreSQL12をインストールする

Adminerはデータベースのwebインターフェイスです。極めて軽量で1つのPHPファイルで機能します。

○Adminerの画面


〇AdminerとPostgreSQL12のインストール手順
1. PostgreSQL12のインストール
以下のコマンドを実行します。
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

sudo apt-get -y install wget ca-certificates

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get -y install postgresql-12

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/12/main/postgresql.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

sudo systemctl restart postgresql.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user adminer with password 'adminer';
"
psql -c "
create database adminer owner adminer encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF

2. Adminerのインストール
sudo apt-get -y install apache2 \
  libapache2-mod-php7.3 \
  php7.3-pgsql \
  php7.3-pdo \
  php7.3-mbstring 

sudo mkdir -p /opt/adminer

cd /opt/adminer

sudo wget https://github.com/vrana/adminer/releases/download/v4.7.6/adminer-4.7.6.php

sudo mv adminer-4.7.6.php index.php

sudo chown -R www-data:www-data /opt/adminer

sudo ln -s /opt/adminer/ /var/www/html/

sudo service apache2 restart

3. ブラウザでhttp://%lt;ホスト名またはアドレス>/adminer/ にアクセスします。


〇関連情報
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

2019年5月25日土曜日

Adminerでデータベース種類・サーバ名・データベース名を入力した状態のログインフォームを表示する

URLでデータベースのデータベース種類・サーバー名・データベース名を指定してログインフォームに入力した状態のページを表示する事ができます。

〇PostgreSQLの場合
http://<サーバ名またはIPアドレス>:<ポート>/?pgsql=<サーバ名またはIP>:<ポート>&db=<データベース名>

http://<サーバ名またはIPアドレス>:<ポート>/?pgsql=<サーバ名またはIP>&db=<データベース名>

例:
http://192.168.1.20:8080/?pgsql=192.168.1.10:5432&db=mydb

〇MySQLの場合は
http://<サーバ名またはIPアドレス>:<ポート>/?server=<サーバ名またはIP>&db=<データベース名>

〇確認バージョン
Adminer4.7


〇関連情報
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

Docker上のAdminer4.7でlogin-serversプラグインを使用する

login-serversプラグインで複数のサーバーとドライバーのペアをドロップダウンリストボックスから選択できます。

〇login-serversプラグインを使用した時のログイン画面


〇必須ファイル
login-servers-.phpを作成して、以下のようにAdminerLoginServerのコンストラクタにサーバー定義の配列を渡します
login-servers.php
<?php
require_once('plugins/login-servers.php');
/** Set supported servers
        * @param array array($description => array("server" => , "driver" => "server|pgsql|sqlite|..."))
        */
return new AdminerLoginServers([
    "pg1" => ["server" => "192.168.1.10:5432", "driver" => "pgsql"],
    "pg2" => ["server" => "192.168.1.20:5432", "driver" => "pgsql"]
]);

〇実行例
docker run --rm -p 38080:8080 -v /:/var/www/html/plugins-enabled/ adminer:4.7


〇関連情報
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

2019年4月24日水曜日

Raspberry Pi上のDockerでAdminer4.7とMariaDB10.3のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

http://<Dockerホスト>:8080
ホスト:db、ユーザ:root、パスワード:adminer、データベース:mysqlを指定します。

○構築方法
1. Adminer用のMariaDBイメージの作成(Dockerfileとsetupdb.shのあるディレクトリで実行)
docker build -f Dockerfile -t mariadb-adminer .

Dockerfile
FROM alpine:3.9
COPY ./setupdb.sh /
RUN apk --no-cache add mariadb mariadb-client \
  && addgroup mysql mysql \
  && chmod +x /setupdb.sh
VOLUME /var/lib/mysql
EXPOSE 3306
ENTRYPOINT ["/setupdb.sh"]

setupdb.sh
#!/bin/sh
if [ ! -d "/run/mysqld" ]; then
  mkdir -p /run/mysqld
  chown -R mysql:mysql /run/mysqld
fi
if [ ! -e /usr/my.cnf ]; then
  cat << EOF > /usr/my.cnf
[mysqld]
datadir=/var/lib/mysql/data
log-bin = /var/lib/mysql/mysql-bin
port = 3306
user = mysql
symbolic-links=0
character-set-server = utf8
pid-file=/run/mysqld/mysqld.pid
EOF
  cd /var/lib/mysql
  chown -R mysql:mysql /var/lib/mysql
  mysql_install_db --user=mysql
  nohup /bin/sh /usr/bin/mysqld_safe \
    --datadir=/var/lib/mysql/data \
    --socket=/run/mysqld/mysqld.sock \
    --pid-file=/run/mysqld/mysqld.pid \
    --basedir=/usr \
    --user=mysql \
    --skip-grant-tables \
    --skip-networking &
  while :
  do
    [ -r /run/mysqld/mysqld.pid ] || continue
    if ps -ef | grep -q $(cat /run/mysqld/mysqld.pid) ; then
        break
    fi
    sleep 10
  done
  cat << EOF > /tmp/setupdb.sql
USE mysql;
UPDATE mysql.user SET Password=PASSWORD('adminer') WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'adminer';
FLUSH PRIVILEGES;
EOF
  /usr/bin/mysql < /tmp/setupdb.sql
  cat << EOF > /tmp/createdb.sql
CREATE DATABASE adminer DEFAULT CHARACTER SET utf8mb4;
EOF
  /usr/bin/mysql -uroot -padminer < /tmp/createdb.sql
  kill `cat /run/mysqld/mysqld.pid`
  sleep 10
fi
exec /usr/bin/mysqld --defaults-file=/usr/my.cnf --console --user=mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

2. AdminerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  adminer:
    image: adminer:4.7
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: mariadb-adminer
    container_name: "db"
    volumes:
      - "db-data:/var/lib/mysql"
    ports:
      - "3306:3306"
volumes:
  db-data:
    driver: local

〇参考情報
Raspberry PiにDockerとdocker-composeをインストールするには以下の記事を参照してください。
Raspberry Pi Raspbian GNU/Linux 9 (stretch)にdocker-composeをインストールする

・Raspberry Pi上のDockerに関する他の記事はこちらを参照してください。
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

2019年4月22日月曜日

DockerでRedash7.0.0, MariaDB10.4, PostgreSQL11.2, Redis, Adminer4.7のコンテナを構築する

Redashでデータの可視化環境を提供する事ができます。AdminerはデータベースのWebインターフェイスで、開発・管理などに使用できます。

〇Redashの画面


〇Adminerの画面


〇構築方法
1.Redash7.0.0, MariaDB10.4, PostgreSQL11.2, Redis, Adminer4.7のコンテナを以下のコマンドで構築して実行します。
docker-compose run --rm redashserver create_db
docker-compose up -d

docker-compose.yml
version: '2'
services:
  redashserver:
    image: redash/redash:7.0.0.b18042
    command: server
    depends_on:
      - db
      - redis
      - mariadb
    ports:
      - "5000:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://redash:redash@db/redash"
      REDASH_COOKIE_SECRET: "cookiesecret"
      REDASH_SECRET_KEY: "Mysecretkey123"
      REDASH_DATE_FORMAT: YYYY/MM/DD
      REDASH_RATELIMIT_ENABLED: "false"
  redashworker:
    image: redash/redash:7.0.0.b18042
    command: scheduler
    depends_on:
      - redashserver
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://redash:redash@db/redash"
      QUEUES: "queries,scheduled_queries,celery,schemas"
      REDASH_SECRET_KEY: "Mysecretkey123"
      WORKERS_COUNT: 4
      REDASH_DATE_FORMAT: YYYY/MM/DD
  redis:
    image: redis:5.0-alpine
    restart: unless-stopped
  db:
    image: postgres:11.2-alpine
    environment:
      POSTGRES_DB: redash
      POSTGRES_USER: redash
      POSTGRES_PASSWORD: redash
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
  mariadb:
    image: mariadb:10.4
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 
    container_name: "mysql-db"
    volumes:
      - "mysql-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
        MYSQL_DATABASE: redash
        MYSQL_ROOT_PASSWORD: redash
  adminer:
    image: adminer:4.7
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
      - mariadb
volumes:
  db-data:
    driver: local
  mysql-data:
    driver: local

2.初期設定
ブラウザからhttp://<Dockerホスト名またはIP:5000/にアクセスして、管理者情報を入力します。


〇Redashのデータソース設定画面
MariaDBをデータソースとして使用したい場合は、Datasourcesで以下のように情報を入力します。

Host: mariadb
Port: 3306
User: root
Password: redash
Database name: redash



○関連情報
・Redashに関する他の記事はこちらを参照してください。

2019年4月21日日曜日

DockerでRedash7.0.0, MySQL8.0, PostgreSQL11.2, Redis, Adminer4.7のコンテナを構築する

Redashでデータの可視化環境を提供する事ができます。AdminerはデータベースのWebインターフェイスで、開発・管理などに使用できます。

〇Redashの画面


〇Adminerの画面


〇構築方法
1.Redash7.0.0, MySQL8.0, PostgreSQL11.2, Redis, Adminer4.7のコンテナを以下のコマンドで構築して実行します。
docker-compose run --rm redashserver create_db
docker-compose up -d

docker-compose.yml
version: '2'
services:
  redashserver:
    image: redash/redash:7.0.0.b18042
    command: server
    depends_on:
      - db
      - redis
      - mysql
    ports:
      - "5000:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://redash:redash@db/redash"
      REDASH_COOKIE_SECRET: "cookiesecret"
      REDASH_SECRET_KEY: "Mysecretkey123"
      REDASH_DATE_FORMAT: YYYY/MM/DD
      REDASH_RATELIMIT_ENABLED: "false"
  redashworker:
    image: redash/redash:7.0.0.b18042
    command: scheduler
    depends_on:
      - redashserver
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://redash:redash@db/redash"
      QUEUES: "queries,scheduled_queries,celery,schemas"
      REDASH_SECRET_KEY: "Mysecretkey123"
      WORKERS_COUNT: 4
      REDASH_DATE_FORMAT: YYYY/MM/DD
  redis:
    image: redis:5.0-alpine
    restart: unless-stopped
  db:
    image: postgres:11.2-alpine
    environment:
      POSTGRES_DB: redash
      POSTGRES_USER: redash
      POSTGRES_PASSWORD: redash
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
  mysql:
    image: mysql:8.0
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
    container_name: "mysql-db"
    volumes:
      - "mysql-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
        MYSQL_DATABASE: redash
        MYSQL_ROOT_PASSWORD: redash
  adminer:
    image: adminer:4.7
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
      - mysql
volumes:
  db-data:
    driver: local
  mysql-data:
    driver: local

2.初期設定
ブラウザからhttp://<Dockerホスト名またはIP:5000/にアクセスして、管理者情報を入力します。


〇Redashのデータソース設定画面
MySQLをデータソースとして使用したい場合は、Datasourcesで以下のように情報を入力します。

Host: mysql
Port: 3306
User: root
Password: redash
Database name: redash



○関連情報
・Redashに関する他の記事はこちらを参照してください。

2019年4月18日木曜日

DockerでAdminer4.7とMariaDB10.4のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

ブラウザからhttp://<Dockerホスト>:8080/にアクセスします。
サーバ:db、ユーザ:root、パスワード:root、データベース:testを指定します。

○構築方法
以下のdocker-compose.ymlを使用して、Adminer4.7とMariaDB10.4のコンテナーを構築する事ができます。
docker-compose up -d

docker-compose.yml
version: "2"
services:
  adminer:
    image: adminer:4.7
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: mariadb:10.4
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "db"
    volumes:
      - "db-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
        MYSQL_DATABASE: test
        MYSQL_ROOT_PASSWORD: root
volumes:
  db-data:
    driver: local


〇関連情報
・Adminerに関する他の情報はこちらを参照してください。

・Adminerのプロジェクトwebサイト
https://www.adminer.org/