DockerでRとMySQLの環境構築(Ubuntu16.04LTS仮想マシン編)
RとMySQLをDockerで動かす練習です。
今回はUbuntu 16.04 LTSで環境作ります。
まずVMwareでUbuntu64bit16.04LTSの仮想マシンを作っておきます。
端末から、
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
パッケージでDockerインストールするときは
$ sudo apt-get install docker.io
では、次に以前も紹介したHadley packageの入ったrocker/hadleyverse(Docker image)を入れます。
$ sudo docker run -d -p 8787:8787 -v ~:/home/rstudio rocker/hadleyverse
データベースはMySQLにします。
$ sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql
ちゃんとうごいているか確認
$ sudo docker ps
大丈夫みたいです。STATUSはUPになってます。
Dockerコンテナのip addressを確認して。
$ ifconfig
さてRstudioをブラウザから動かして見ましょう。
ブラウザのアドレスバーに[ip address]:8787と入力します。
Rstudio serverが立ち上がりましたね。
Username,Passwordはどちらも"rstudio"で。
Consoleからでも、PackagesタブのInstallボタンでも良いので
install.packages("RMySQL")
まずはMySQLに接続するためのパッケージをインストール。
実際データベースを操作してみましょう。
Rstudioに新規ファイルを作り、下記コードをコピペしてください。
library(RMySQL) con <- dbConnect(MySQL(), host="[ip address]", port=3306, dbname="mysql", user="root", password="mysql") dbGetQuery(con,"SHOW DATABASES;") dbGetQuery(con,"CREATE DATABASE rbeginner;") dbGetQuery(con,"SHOW DATABASES;") dbDisconnect(con) # 終わったらconnectionは切りましょう
順番にRUNボタンで実行すると。最初の"SHOW DATABASES;"ではなかったものが、2回めにできていますね。
本当にMySQLにrbegginerのデータベースができているでしょうか?
もういちどUbuntu端末に戻ります。
$ sudo docker exec -it mysql bash
mysqlコンテナに入ります。
# mysql -u root -pmysql
mysql> show databases;
できていますね。Dockerは環境構築が簡単なので良いですね。