CoreOS で MariaDB 10.3 を動かす


CoreOS上で稼働するDockerコンテナ上でMariaDBを稼働させ、Docker外のクライアントからMariaDBにアクセスしてみます。

Vagrant で CoreOS を起動

Vagrant を用いて VMware Workstation Pro で CoreOS を立ち上げ、SSH で CoreOS 仮想マシンに接続します。

git clone https://github.com/coreos/coreos-vagrant.git
cd coreos-vagrant
vagrant up
vagrant ssh

MariaDB Server イメージをpull

2018年10月から MariaDB Corporation がビルドしている公式イメージが公開されていますので,こちらを用います。
なお以前はビルド済イメージがなかった ColumnStore, MaxScale もあります。

最新版イメージを pull します。

docker pull mariadb/server

以下のコマンドでイメージ一覧を確認できます。

core@localhost ~ $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mariadb/server      latest              fc2d096c4ed9        11 days ago         371MB

コンテナを実行

docker run で mariadb という名前をつけ、ポート 3306(MariaDB) を開放してコンテナを実行します。

core@localhost ~ $ docker run --detach --env MYSQL_ROOT_PASSWORD=mypass --publish 3306:3306 --name mariadb mariadb/server
ed96366d055929ac109b2ed6f703aa94d7e644cad6b4ca4fa51d1f3b24e49328

docker ps で起動したコンテナを確認します。ポート 3306 が CoreOS の ポート 3306 にリダイレクトされています。

core@localhost ~ $ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
ed96366d0559        mariadb/server      "docker-entrypoint.s・   21 seconds ago      Up 19 seconds       0.0.0.0:3306->3306/tcp   mariadb

CoreOS から MariaDB に接続

core@localhost ~ $ docker exec -it mariadb mysql -pmypass
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.11-MariaDB-1:10.3.11+maria~bionic mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

コンテナ外から MariaDB に接続

Windows から HeidiSQL で MariaDB に接続してみます。

正常にコンテナ外から接続できました。

なお、以下のコマンドで bash を利用できます。

docker exec -it mariadb bash