こんにちは、さるまりんです。
今回は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、実はこれまで使ってこなかったんです。
でも、使えた方が便利かな、便利に決まっている。なので、色々やってみようと思ってます。
覚えたいことメモしていきますので、よろしくお願いします。
読んでくださってありがとうございました。
それではまた!