LoginSignup
1
0

More than 5 years have passed since last update.

minishift v1.28.0でWordPress+MariaDBをPodで立ち上げる

Last updated at Posted at 2018-12-22

ベースのDocker ImageをRed Hat Container Catalog(RHCC)から取得する

信頼できるソース元であるRed Hat Container Catalog(RHCC)からベースとなるDocker Imageを取得します。

01.png

今回は勉強がてらWordPressのDocker ImageとMariaDBのDocker Imageを取得し、プロジェクト内で参照するよう設定してみたいと思います。

WordPressのDocker Imageを取得

Red Hat Container Catalog(RHCC)で「WordPress」を検索

02.png

色々なイメージがリストアップされている中から今回は「WordPress with Nginx and PHP7(bitnami/wordpress-nginx-php7)」を選びました。

04-1.png

Registryはregistry.connect.redhat.comのようですね。
WordPress with Nginx and PHP7(registry.connect.redhat.com/bitnami/wordpress-nginx-php7)」

Docker Imageはビルドする際に環境変数を引数に環境構築を行いますので、設定を確認します。

Overviewの「README & Configuration Options」を参考にすると

Variable Description Default
MARIADB_HOST Hostname for MariaDB server. mariadb
MARIADB_PORT_NUMBER Port used by MariaDB server. 3306
WORDPRESS_DATABASE_NAME Database name that WordPress will use to connect with the database. bitnami_wordpress
WORDPRESS_TABLE_PREFIX Table prefix to use in WordPress. wp_
WORDPRESS_DATABASE_USER Database user that WordPress will use to connect with the database. bn_wordpress
WORDPRESS_DATABASE_PASSWORD Database password that WordPress will use to connect with the database. No defaults.
ALLOW_EMPTY_PASSWORD It can be used to allow blank passwords. no

MariaDBのDocker Imageを取得

Red Hat Container Catalog(RHCC)で「MariaDB」を検索
05.png
最新版は色々と泣かされそうなので「MariaDB 10.1(rhscl/mariadb-101-rhel7)」を選びました。
こちらは配布されるRegistryが違うみたいですね。
05-1.png
MariaDB10.1(registry.access.redhat.com/rhscl/mariadb-101-rhel7)

こちらも環境変数を確認しますが…なかなか見当たりません。
Tagsを選択し、最新TagをClickします。
06.png
DockerタブをClickするとここに環境変数のことが書いてあります。
07.png

Variable Description Note
MYSQL_USER Database user name
MYSQL_PASSWORD User's password
MYSQL_DATABASE Name of the database to create
MYSQL_ROOT_PASSWORD Password for the 'root' MySQL account Optional

ベースイメージをminishiftに登録する

情報も集まりましたのでminishiftにDocker ImageをPullします。

[tak@centos76 ~]$ minishift ssh
[docker@minishift ~]$ docker login registry.connect.redhat.com --username <username>
Password:<password>
Login Succeeded
[docker@minishift ~]$ docker search registry.connect.redhat.com/wordpress
INDEX        NAME                                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redhat.com   registry.connect.redhat.com/bitnami/wordpress-apache-php5   This WordPress container solution is optim...   0
redhat.com   registry.connect.redhat.com/bitnami/wordpress-apache-php7   This WordPress container solution is optim...   0
redhat.com   registry.connect.redhat.com/bitnami/wordpress-nginx-php5    This WordPress container solution is optim...   0
redhat.com   registry.connect.redhat.com/bitnami/wordpress-nginx-php7    This WordPress container solution is optim...   0

[docker@minishift ~]$ docker pull registry.connect.redhat.com/bitnami/wordpress-nginx-php7
Using default tag: latest
Trying to pull repository registry.connect.redhat.com/bitnami/wordpress-nginx-php7 ...
latest: Pulling from registry.connect.redhat.com/bitnami/wordpress-nginx-php7
367d84554057: Pull complete
:
119b0de383d9: Pull complete
Digest: sha256:7f9bef9632f2a9a87ff4c02ded5080d4048418d26913d3dacfb9cf1c6612ae04
Status: Downloaded newer image for registry.connect.redhat.com/bitnami/wordpress-nginx-php7:latest
[docker@minishift ~]$ exit
[tak@centos76 ~]$ oc import-image my-bitnami/wordpress-nginx-php7 --from=registry.connect.redhat.com/bitnami/wordpress-nginx-php7 --confirm
[docker@minishift ~]$ docker search registry.access.redhat.com/mariadb
INDEX        NAME                                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redhat.com   registry.access.redhat.com/openshift3/mariadb-apb           Ansible Playbook Bundle application defini...   0                    
redhat.com   registry.access.redhat.com/rhosp12/openstack-mariadb        Red Hat OpenStack Container image for open...   0                    
redhat.com   registry.access.redhat.com/rhosp13/openstack-mariadb        Red Hat OpenStack Container image for open...   0                    
redhat.com   registry.access.redhat.com/rhosp14-beta/openstack-mariadb   Red Hat OpenStack Beta Container image for...   0                    
redhat.com   registry.access.redhat.com/rhscl/mariadb-100-rhel7          MariaDB 10.0 SQL database server                0                    
redhat.com   registry.access.redhat.com/rhscl/mariadb-101-rhel7          MariaDB server 10.1 for OpenShift and gene...   0                    
redhat.com   registry.access.redhat.com/rhscl/mariadb-102-rhel7          MariaDB is a multi-user, multi-threaded SQ...   0  

[docker@minishift ~]$ docker pull registry.access.redhat.com/rhscl/mariadb-101-rhel7
Using default tag: latest
Trying to pull repository registry.access.redhat.com/rhscl/mariadb-101-rhel7 ... 
latest: Pulling from registry.access.redhat.com/rhscl/mariadb-101-rhel7

23113ae36f8e: Pull complete
:
84c39a3a2476: Pull complete
sha256:eda05d7ccdd32f0993e880b8ee0d92bbd61abde6bb7450193fd4b67ea1eb0f1b
Status: Downloaded newer image for registry.access.redhat.com/rhscl/mariadb-101-rhel7:latest
[docker@minishift ~]$ exit
[tak@centos76 ~]$ oc import-image my-rhscl/mariadb-101-rhel7 --from=registry.access.redhat.com/rhscl/mariadb-101-rhel7 --confirm

念のため登録されているDocker Imageを確認しておきます。

[tak@centos76 ~]$ minishift ssh
Last login: Sat Dec 22 17:11:10 2018 from 192.168.42.1
[docker@minishift ~]$ docker images
REPOSITORY                                                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/openshift/origin-node                            v3.11.0             438d61da63d1        20 hours ago        1.16 GB
docker.io/openshift/origin-control-plane                   v3.11.0             00f980c345c1        20 hours ago        825 MB
docker.io/openshift/origin-hyperkube                       v3.11.0             d65ee3cc9874        20 hours ago        506 MB
docker.io/openshift/origin-haproxy-router                  v3.11.0             316c2621011d        20 hours ago        407 MB
docker.io/openshift/origin-pod                             v3.11.0             045ddf827c75        20 hours ago        258 MB
docker.io/openshift/origin-deployer                        v3.11.0             d05e619aac21        20 hours ago        380 MB
docker.io/openshift/origin-hypershift                      v3.11.0             a777d85d24b9        20 hours ago        546 MB
docker.io/openshift/origin-cli                             v3.11.0             83d7b0b2f011        20 hours ago        380 MB
172.30.1.1:5000/openshift/mariadb                          <none>              5e784880fd90        2 weeks ago         458 MB
registry.access.redhat.com/rhscl/mariadb-101-rhel7         latest              a4deee8ed5a5        3 weeks ago         455 MB
registry.connect.redhat.com/bitnami/wordpress-nginx-php7   latest              2892cd4d344e        5 weeks ago         580 MB
docker.io/openshift/origin-web-console                     v3.11.0             be30b6cce5fa        2 months ago        339 MB
docker.io/openshift/origin-docker-registry                 v3.11.0             a0d5ad164395        2 months ago        305 MB
docker.io/openshift/origin-service-serving-cert-signer     v3.11               47dadf9d43b6        2 months ago        276 MB

MariaDBのPod作成

minishiftのconsoleでプロジェクトに入ります。
OverviewのAdd to ProjectからDeploy Imageを選択します。
10.png
まずはMariaDBのImage Nameを入力し虫眼鏡ボタンをクリックします。
registry.access.redhat.com/rhscl/mariadb-101-rhel7
11.png
12.png

下部に表示された「Environment Variables」に先ほど調べた値を入力して行きます。
仮にこんな感じにしておきます(笑)

Variable Description Value
MYSQL_USER Database user name user
MYSQL_PASSWORD User's password password
MYSQL_DATABASE Name of the database to create wordpress_db
MYSQL_ROOT_PASSWORD Password for the 'root' MySQL account root_password

13.png

最後にDeployをクリックします。

DeployされるのをただじっとOverviewの画面で確認してるも良し
詳細を見るため#1をクリックしLogを表示するもよし
14.png
15.png

MariaDBのServiceの確認

Project内のPod同士で通信を行うにはServiceを利用します。
Applications>Servicesをクリックし確認すると1つ出来上がっています。
16.png
17.png
ここに表示されているHostnameが所謂サーバー名にあたります。

WordPressのPod作成

MariaDBと同じようにProject内でDeploy Imageを選択して
wordpressのImage Nameを入力し虫眼鏡ボタンをクリックします。
registry.connect.redhat.com/bitnami/wordpress-nginx-php7
20.png
下部に表示された「Environment Variables」に先ほどMariaDBで設定した値を入力して行きます。

Variable Default Value
MARIADB_HOST mariadb mariadb-101-rhel7.myproject.svc
MARIADB_PORT_NUMBER 3306
WORDPRESS_DATABASE_NAME bitnami_wordpress wordpress_db
WORDPRESS_TABLE_PREFIX wp_
WORDPRESS_DATABASE_USER bn_wordpress user
WORDPRESS_DATABASE_PASSWORD No defaults. password
ALLOW_EMPTY_PASSWORD no

※←はDefault値を採用するのでEnvironment Variablesには未定義

21.png
そしてDeploy
22.png

ここは心配なのでログを確認します(笑)
23.png
24.png
ログが止まったと思ったら…minishiftがクラッシュ( ;∀;)
Console画面も表示できなくなってしまった(泣

$ minishift stop
$ minishift start

(-。-)y-゜゜゜

改めてログを確認
25.png
うまく行ってそうですね♪

WordPress用にRouterを作成する

このままではWordPressにブラウザからアクセスできないのでRouterを作成します。
Applications>Routersをクリック
26.png

中央にデカデカとある「Create Route」をクリック
27.png

Nameにwordpress-rtと入力し、
Serviceでwordpress-nginx-php7を選択し、Createをクリック
28.png

Hostnameに表示されているURLがブラウザからアクセスするURLになります。

祝・WordPress+MariaDB!

URLをクリックするとWordPress画面が表示されました!

30.png

後からEnvironment Variablesを変えたくなったら

ブログ名が「USER'S BLOG」
README & Configuration Options」をもう一度よく見ると環境変数ですね...

Variable Description Default
WORDPRESS_USERNAME WordPress application username. user
WORDPRESS_PASSWORD WordPress application password. bitnami
WORDPRESS_EMAIL WordPress application email. user@example.com
WORDPRESS_FIRST_NAME WordPress user first name. FirstName
WORDPRESS_LAST_NAME WordPress user last name. LastName
WORDPRESS_BLOG_NAME WordPress blog name. Default User's blog

簡単にブログ名とかユーザを変更してみましょう。

Applications>Deploymentsをクリック
40.png

WordPressのPodのLast Version(画像では#3)をクリック
41.png

Environmentタブをクリック
Environment variables can be edited on deployment config wordpress-nginx-php7. のリンクをクリック
42.png

Add Valueを設定する環境変数分クリックして枠を追加し投入します。
43.png
44.png
設定が終わったら[Save]をクリックするとDeployが走りなおします。(#3から#4へ)

これで変わる予定だったのですが、またしてもminishiftクラッシュ( ;∀;)
(-。-)y-゜゜゜
45.png
不思議なことにWordPressはF5で更新できて「TAK'S BLOG]に代わってました!
ただし、一緒に指定したWordPressのユーザは反映できていない中途半端な状態

一度マシンをRebootして再度Deployですな...。PCのメモリ追加したら治るかな!?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0