MySQL
Ubuntu
docker

Mac上でdocker、ubuntu、MySQLと環境を構築していく

More than 1 year has passed since last update.
macOS High Sierra 10.13

会社のMacBook Proをいろんな人と共用で使うためにどうすればお互いに影響させなく使えるのかなと考えた結果
1.docker for macをインストール
2.ubuntuをdocker上にインストール
3.各コンテナ上で色々と開発
とすることでMac環境自体はゴチャゴチャしないかなと思ったので一応行ったことをメモ程度に手順をまとめてみました。

1.dockerをインストール
サイトからdocker for Macのインストーラーをダウンロードしてインストール。特に悩むところなくできたので省略

2.docker上にubuntuをインストール
docker pull ubuntu:xenial

バージョンはこうやって指定するんですね。ためになりました。

3.apt updateを実行

docker run -it ubuntu:xenial /bin/bash

この後、すぐにmysqlをインストールしようとしたらエラーになった。パッケージをアップデートしないとダメなんですね。基本と言えば基本ですね。

apt update

4.mysqlをインストール
とりあえずインストールは簡単。

apt-get install mysql-server-5.7
mysql --version
mysql  Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using  EditLine wrapper

ただ、実行する時に色々エラーが出た。

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)`

とか

service mysql start
 * Starting MySQL database server mysqld                                                                                        No directory, logging in with HOME=/

下の方のエラーは環境と権限がなかったということのようだったので下記コマンドを実行したら解決できた。上の方のエラーはいつの間にか出なくなった。

mkdir /home/mysql
chown mysql /home/mysql/
chgrp mysql /home/mysql/
usermod -d /home/mysql/ mysql

やっとログイン出来ました。

/etc/init.d/mysql start
mysql -uroot -p
Your MySQL connection id is 9
Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

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> 

ただ、
mysql start
ではエラーになって、
/etc/init.d/mysql start
と入力するとログインできたのが少しだけ気がかりでした。

以下参考にしたサイトです。ありがとうございました。
UbuntuでDockerでUbuntuでMySQL
https://qiita.com/Guf/items/59f3e5b60cf29a984c83
MySQLを起動すると「No directory, logging in with HOME=/」と表示される
http://d.hatena.ne.jp/graySpace/20140915/1410741641