さくらにVPSサーバを立てた。
- とりあえずPermitRootLoginをno
- ユーザ作成
- httpdのインストール
- /etc/httpd/conf.d/security.confで
ServerTokens Prod
- dockerのインストール
sudo yum install docker
- Pythonのインストール
sudo yum install python36 python36-pip
sudo ln -s /usr/bin/pip3.6 /usr/local/bin/pip
sudo /usr/local/bin/pip install pipenv
- dockerファイルの場所でpipenvする
mkdir www
cd www
# docker-compose.ymlを作成
pipenv install docker-compose
pipenv shell
docker-compose upしてみる。
$ docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
(www)
dockerのパーミッションが足りない。sudoでやりたくなければ、ユーザをdockerグループに所属させる。
sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker
一度ログアウトして、再度ログインするとdocker-compose upできるようになる。 しかし、mysqlに接続できない。firewallにmysqlを追加する。
sudo firewall-cmd --add-service=mysql --zone=public --permanent
だめだ。やりなおし。
mv www www2
mkdir www
cd www
docker pull mysql:5.7.21
docker pull wordpress
docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=test-pw -d mysql:5.7.21
docker run --name test-wordpress --link test-mysql:mysql -d -p 8080:80 wordpress
だめだ。どうしてもデータベースにアクセスできない。まずローカルで試すか。
brew install docker
brew cask install docker
open /Applications/Docker.app
このあと、docker psが帰ってくるまでまつ。
mkdir www
cd www
docker pull mysql:5.7.21
docker pull wordpress
docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=test-pw -d mysql:5.7.21
docker run --name test-wordpress --link test-mysql:mysql -d -p 8080:80 wordpress
run時にイメージがなかったらどうせダウンロードしてくれるから、docker pullいらんかったな。 うーん、ローカルではあっさり動いたなぁ。
もう一度さくらでやったらあっさり動いた。何がわるかったんだ?mysqlのポートか?