こんにちは
久しぶりに「Docker」の話です。すでにご存知の方も大勢いらっしゃると思いますが、これは自分の健忘禄も兼ねています。
以前にサーバ用のShuttleにCentOS7を導入そこにDockerを導入してblogサイトを立ち上げて運用していたのですが、いつの間にかblogが停止していて、結局そこに置いてあった記事。 保存に失敗するという失態をおかしてしまいました。
これと同じ様なことが以前にもあって、その時は挫折して今日までそのままの状態になっていました。これに懲りて、同じ環境のサイトを別のマシン(例えばLinux、WindowsやMacOSなど)に移植できないか調べてみました。
沢山の情報が、ネット上に溢れていてどれを採用すれば良いのか悩んでしまうところです。
この目的は、現在稼働しているマシン(CentOS7)と同じ環境を別なマシン(Windows 10 pro)に移設して稼働させることです。そうすればほとんどマシン間の移設は楽になりますよね。
まず同じ環境になる様に「docker-compose.yml」を用いることにします。 あとは「.env(loginのために必要なpasswordなど)環境の設定。 これだけであとは、wordpressの記事とデータベースはコピー。そしてSearch Replace DB を使ってサイトのドメイン変換と続きます。ここではまずWindows 10でのdocker-composeでの環境作りです。
Windows 10 pro
windows 10 proは、Docker for Windowsをインストールすることができます。
インストールすると 画面の端に
でもこれから何かができる訳ではないようですね。どこでDocker for Windowsの設定はするのでしょうか。
これをクリックすると、しばらくしてタスクバーの右側の隠れたインジケータにDockerの表示(クジラの上にコンテナ)が出ています。
これを選択すると
このようなメニューが出てきます
この中のsettingsを選択すると
の画面ができてきます。
でもネットで紹介されているのと違いmenuの中身が少ないんですね。
実はこの状態では問題があったのですが、これが分かったのは次の日。
このままWindows PowerShellを管理者権限で開いて
docker-compose.ymlはサーバであるshuttleで使用しているものをそのまま使用しています。
その中は
です。
これを docker-compose up -d で実行してみると
とエラーになってしまいます。どうもdbが作れないようなのですが。ここで半日悩みました。 ネットで調べてみてもよくわかりません。英文よく理解できないからな。
Switch to Linux Containers
ほぼ諦めかけたときにふと、dockerのmenuをみると Switch to Linux containers.. の文字が。
これを選択してみると
Switchをクリック
の表示が今までと変わってSettingのmenuが増えました。
Shared Drives があったので選択。
C にチェックを入れると Firewall detected でエラーが。
実は最近 ESETの製品に入れ替えたばかり。
タイムリーにここの記事をみつけました。
そこに紹介されている通りにセット。
もう一度 docker-compose up -d
やっと完了。
となっていてwpもdbも作られていません。
これは docker-compose.ymlを少しだけWindows10用に変更する必要があるのです。
つまり c;/Users/kk1/docker …. c;を頭に追加しなければならないのです。修正したdocker-compose.ymlは以下の通りです。
修正後に docker-compose up -d とすると
dbとwpも一緒にできました。
アドレスをいれてwordpressの設定を。
と表示されました。
これでCentOS7と同じdocker-compose.ymlを使って別なマシンに導入することができました。
次はサーバshuttleの中のwordpressの記事の移設です。
それにしても長かった2日間でした。なお別なマシン(Ubuntu 18.04)では何も変更なしでWordpressを立ち上げることができました。
MicrosoftのWindows 10 Proの中の画像の一部をつかわさせていただきました。
またテーマとしてTwenty seventeenをつかわさせていただきました。
ありがとうございました。
コメント