Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

local にデータベースの host も client も無い時に docker でのちょろっとした確認方法

  • Updated at 2020-07-12: Microsoft SQL Server, Presto を追加

手元の端末でちょろっとqueryの確認をしたいけど、そもそもローカルにclientすらインストールしていなかった時の不便を解決するための備忘録です。サーバ側のバージョン違いによる機能や挙動の確認は docker tag で制御する想定。

Postgresql

  • p11, mydb はご自由に変更を
  • docker exec をすぐに実行してしまうと docker run の初期化が終わっておらずエラーが出ることがあるが、深呼吸して時間をおいて実行すれば動きます
$ docker run --rm -d --name=p11 -e POSTGRES_USER=u -e POSTGRES_PASSWORD=p -e POSTGRES_DB=mydb postgres:11
$ docker exec -it p11 psql -h localhost -U u -d mydb
# inside docker
exit;
# outside docker
$ docker stop p11

MySQL

  • m8, mydb はご自由に変更を
docker run --rm -d --name=m8 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -e MYSQL_DATABASE=mydb mysql:8
docker exec -it m8 mysql -h localhost mydb
# inside inside docker
exit;
# outside docker
docker stop m8

SQLite

  • 公式dockerイメージは見つからなかった。
  • 出力をカンマ区切りにするためには $'\t', に変更すればよい
docker run -it --rm nouchka/sqlite3 sqlite3 -header -separator $'\t'
sqlite> .q

Microsoft SQL-Server

# local
docker run --rm -d -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 \
   mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04

docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "<YourStrong@Passw0rd>"

# SQLコマンド後に結果の表示に `go` とタイプする必要がある。 
# inside docker
1> exit

# local
docker stop sql1

Presto

docker run --rm -d -p 8080:8080 --name presto prestosql/presto
docker exec -it presto presto
# insice docker 
presto> exit

# local
docer stop presto
justincase
テクノロジーで保険を身近にする保険スタートアップです。
https://justincase.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away