Dockerでパパッとデータベースを準備します

こんにちは、さるまりんです。

今回はDockerを使ってデータベース環境をパパッと準備してみたいと思います。

MySQLから。

まずはMySQLのイメージを取ってきます。

docker pull mysql

立ち上げます。

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_USER=salu -e MYSQL_PASSWORD=salupw -e MYSQL_DATABASE=mydb -d -p 3306:3306 mysql

実行するとこんな感じです。

% docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
69692152171a: Pull complete 
1651b0be3df3: Pull complete 
951da7386bc8: Pull complete 
0f86c95aa242: Pull complete 
37ba2d8bd4fe: Pull complete 
6d278bb05e94: Pull complete 
497efbd93a3e: Pull complete 
f7fddf10c2c2: Pull complete 
16415d159dfb: Pull complete 
0e530ffc6b73: Pull complete 
b0a4a1a77178: Pull complete 
cd90f92aa9ef: Pull complete 
Digest: sha256:d50098d7fcb25b1fcb24e2d3247cae3fc55815d64fec640dc395840f8fa80969
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
% docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_USER=salu -e MYSQL_PASSWORD=salupw -e MYSQL_DATABASE=mydb -d -p 3306:3306 mysql
5cca70718b5ce3bdb6459e9928a94cb2c9e7d1b4332d42a2d21a449768a5b180

これで動いてます。

rootユーザーで繋いでみます。パスワードは立ち上げ時に指定したadminです。

% mysql -u root -p -h 127.0.0.1
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

立ち上げた時に指定したsaluユーザーで繋いでみます。パスワードはこちらも立ち上げた時に指定したsalupwです。

% mysql -u salu -p -h 127.0.0.1
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.25 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

使い終わったら止めます。

docker stop my-mysql

次はPostgreSQL。

こちらも手順は同じです。

まずはPostgreSQLのイメージを取ってきます。

docker pull postgres

立ち上げます。

docker run --name my-postgres -e POSTGRES_PASSWORD=salupw -d -p 5432:5432 postgres

実行するとこんな感じです。

% docker pull postgres
Using default tag: latest
latest: Pulling from library/postgres
69692152171a: Already exists 
a31b993d5cc6: Pull complete 
f65921886500: Pull complete 
b9c1a94e4ca8: Pull complete 
435dd99ceb68: Pull complete 
d3ee8e88c67c: Pull complete 
84b08674f942: Pull complete 
7d358e850d3e: Pull complete 
c7dcc5801f3b: Pull complete 
f6eeca01c79c: Pull complete 
392faa2e3ddd: Pull complete 
3e77feaf6319: Pull complete 
9b42e6c9c7ba: Pull complete 
5fce2660d75c: Pull complete 
Digest: sha256:117c3ea384ce21421541515edfb11f2997b2c853d4fdd58a455b77664c1adc20
Status: Downloaded newer image for postgres:latest
docker.io/library/postgres:latest
% docker run --name my-postgres -e POSTGRES_PASSWORD=salupw -d -p 5432:5432 postgres
4efbbc4c6c1e8efa81f6e671b994dfa80e232303f36a2edb4e6f7c27ff18044f

postgresユーザーで繋いでみます。パスワードは起動時に指定したsalupwです。

% psql -U postgres -h 127.0.0.1
Password for user postgres: 
psql (13.3)
Type "help" for help.

postgres=#

繋がりました。

使い終わったら止めます。

docker stop my-postgres

どちらもパパッとできました!これは簡単。

yumで取ってきたりとか、コンパイルしてみたりとかなし。

本当にパパッとできました。

Docker、実はこれまで使ってこなかったんです。

でも、使えた方が便利かな、便利に決まっている。なので、色々やってみようと思ってます。

覚えたいことメモしていきますので、よろしくお願いします。

読んでくださってありがとうございました。

それではまた!