簡易データベースサーバーをコンテナーに構築する
MariaDB を使用して、その他のアプリケーションからアクセスできるコンテナーに基本的なデータベースを設定できます。このガイドでは以下の手順について説明します。
- docker フォーマットのコンテナーに MariaDB データベースサーバーを構築する
- ホストのポート 3306 でサービスを公開する
- データベースサービスを起動して情報を共有する
- Web サーバーからデータベースをクエリーするためのスクリプトを実行できるようにする (こちらから入手できる追加 Web サーバーコンテナーが必要です)
- このコンテナーを使用し拡張するためのヒント
MariaDB データベースサーバーコンテナーを作成し実行する
-
システムをインストールする。docker パッケージを含む Red Hat Enterprise Linux 7 または Red Hat Enterprise Linux Atomic Host システムをインストールし、docker サービスを起動します。詳細は Get Started with Docker Containers を参照してください。
-
イメージを取得する。以下のコマンドを実行して rhel7 イメージを取得します。
# docker pull rhel7:latest
-
サポートファイルが含まれる tarball を取得する。このガイドに添付されている tarball ファイル (mariadb_cont*.tgz) をダウンロードします。新しい mydbcontainer ディレクトリーにダウンロードして、以下のように tar を展開してください。
# mkdir ~/mydbcontainer # cp mariadb_cont*.tgz ~/mydbcontainer # cd ~/mydbcontainer # tar xvf mariadb_cont*.tgz gss_db.sql Dockerfile
-
Dockerfile を確認する。必要に応じて ~/mydbcontainer ディレクトリーにある Dockerfile ファイルを編集します (変更が必要なのはおそらく Maintainer_Name のみ)。以下は、そのファイルの内容です。
# Database container with simple data for a Web application # Using RHEL 7 base image and MariahDB database # Version 1 # Pull the rhel image from the local repository FROM rhel7:latest USER root MAINTAINER Maintainer_Name # Update image RUN yum update -y # Add Mariahdb software RUN yum -y install mariadb-server # Set up Mariahdb database ADD gss_db.sql /tmp/gss_db.sql RUN /usr/libexec/mariadb-prepare-db-dir RUN /usr/bin/mysqld_safe --basedir=/usr & \ sleep 10s && \ /usr/bin/mysqladmin -u root password 'redhat' && \ mysql --user=root --password=redhat
-
データベースサーバーコンテナーを構築する。Dockerfile ファイルとその他のコンテンツを含むディレクトリーで、以下のコマンドを実行します。
# docker build -t dbforweb . Sending build context to Docker daemon 528.4 kB Sending build context to Docker daemon Step 0 :FROM rhel7:latest ---> bef54b8f8a2f Step 1 :USER root ...
-
データベースサーバーコンテナーを起動する。コンテナーイメージを起動するには、以下のコマンドを実行します。
# docker run -d -p 3306:3306 --name=mydbforweb dbforweb
-
データベースサーバーコンテナーをテストする。たとえば、ホストの docker0 インターフェイスが 172.17.42.1 の場合は、以下のように nc (RHEL 7 の場合は yum install nc) を実行して、データベースコンテナーが稼動していることを確認します。
# nc -v 172.17.42.1 3306 Ncat:Version 6.40 ( http://nmap.org/ncat ) Ncat:Connected to 172.17.42.1:3306. R 5.5.40-MariaDB?acL3YF31?X?FWbiiTIO2Kd6mysql_native_password Ctrl-C
コンテナーを使用するためのヒント
ここでは、Web サーバーコンテナーを使用するためのヒントを紹介します。
-
独自のデータベースを追加する。データベースファイルをビルドディレクトリーにコピーし、データベース名を、gss_db.sql からお使いのデータベースの名前に変更すると、独自の MariaDB コンテンツを (Dockerfile ファイルの複数の場所に) 追加できます。
-
コンテナーを編成する。その他のコンテナーと一緒にこのコンテナーを管理するには、Kubernetes を使用してポッドに編成することが推奨されます。Kubernetes を使用してコンテナーを編成する方法については Get Started Orchestrating Docker Containers with Kubernetes を参照してください。
Comments