今日の内容
docker-machineを入れたらssh通信出来るようにmachineが最低1つ必要
どうやらdocker-machineを入れたらデフォルトでdocker-machineでの作業になるらしく、いろいろ調べた結果ローカルのdocker(docker-engine)にはssh通信が必要だとのことだった
→違う可能性が出てきました。Docker for macになったときにデフォルト機能でいろいろ追加されて必要なくなったかもしれません。今後調べていきます。
docker-machine createのためにvirtualboxが必要でインストールでエラーが出た
今日のエラー達
①
unable to resolve docker endpoint: open /Users/user/.docker/machine/machines/aws-sandbox/ca.pem: no such file or directory
②
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
③
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
③の解決法
解凍したものを削除しますボタンが出る
finder→セキュリティーとプライバシーで鍵を外して許可をクリック
解凍したものを削除しますボタンをおす(中途半端に成功しているのでvirtualboxの破片が残ってしまった)
→ゴミ箱にいるvirtualboxのダウンロードファイルを再解凍して、その中にあるアンインストールを開いて破片を削除
→インストールボタンをダブルクリック(もう一度0からインストール)→指示に従う
→正常にインストール
②の解決法
③が正常にクリアできたら
docker-machine create --driver virtualbox default
で成功
※筆者は③エラーのままでこのコマンドを打ったためdocker-machine rm default
(失敗してできたdocker-machine defaultを削除)を挟んだ
①の解決法
②ができた時点で解決されていたが念のためeval "$(docker-machine env default)"
を打った。下記url参照(dockerの本家のホームページ)
http://docs.docker.jp/machine/get-started.html
mysqlの接続エラー
docker-machineを入れたときにdockerのimagesが消えていたらしく、Dockerfileなどはlocalに残っていたためdocker-compose up -d
で自動的に必要なものを再度インストールしてくれた。やっぱりlocalのdocker自体は消えていたみたいですね。→どこかに残ってるっぽい。そのせいでmysqldocker-compose.ymlで設定していたmysqlで入れなくなった。消せないから最悪は名前を変えて別物のDBを作るしかないと考えてますが...
#エラーの様子
Name Command State Ports
-----------------------------------------------------------------------
mysql docker-entrypoint.sh mysqld Exit 1
nginx nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
php docker-php-entrypoint php-fpm Up 0.0.0.0:9000->9000/tcp
→こうなったら再起動で今生きてるmysqlのコンテナを削除してしまえと思い、pc(mac)本体を再起動したらローカルのdocker imagesが全て復活し、後から作ったのも加わった状態になっていました。(エラー解決していました。) 理由は不明です。
#復活した様子(mysqlのimageは先にrmi(削除)してしまいましたが、phpとnginxが2つづつ出てきています。)
%docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx stable-alpine ab94f84cc474 4 days ago 21.3MB
nginx latest 602e111c06b6 5 days ago 127MB
mysql 5.7 5d9483f9a7b2 6 days ago 455MB
node latest a5a6a9c32877 6 days ago 941MB
konta2019/phpforeveryone_php latest 85fc60466031 6 days ago 81.7MB
phpforeveryone_php latest 85fc60466031 6 days ago 81.7MB
composer latest f9118ee57c51 11 days ago 179MB
php 7.3-cli 5521ce7d226f 11 days ago 398MB
php 7.4-fpm-alpine 0422b12abbef 12 days ago 81.4MB
hello-world latest bf756fb1ae65 3 months ago 13.3kB
参考
参考にしている動画教材が一緒だと思われる方の記事を見つけたため、リンクを貼っておきます。ちなみに筆者は、参考資料のその後の個人実装部分でエラーを出しながら現在戦っているところです。
https://qiita.com/ryoji-tamaki1027/items/68cb3eeffb4fc25f0f9c
AWSホームページ内のDockerデプロイのチュートリアル
https://aws.amazon.com/jp/getting-started/tutorials/deploy-docker-containers/