電子書籍の厳選無料作品が豊富!

wordpressのローカル環境を作るのに、どちらが良いのでしょうか?
1.Win10+docker
2.Win10(WSL)+docker

しばらく、2.でやっているのですが、なぜ2.にしたのかも覚えておらず・・・
わざわざWSL上でやらなくてもいいのでは?と考えております。

それぞれのメリット・デメリットってなんですかね?
わかる方アドバイスをよろしくお願いいたします。

質問者からの補足コメント

  • ネットにはWSL2+DockerDeskでのローカル環境構築が多く掲載していいたので、2.で開発しておりましたが、1.でも良くないか?と疑問をもったので、今回それぞれのメリット・デメリットを聞いてみたく質問しました。

    Win10の場合、1.も2.もファイル権限がうまくいかない。
    Win10+DockerDeskでのローカル環境のベストな構築方法は、2.でrootユーザーがベストなのか?それともユーザーで良い方法があるのか?


    わかる方アドバイスをよろしくお願いいたします。

      補足日時:2022/10/16 14:12

A 回答 (3件)

ローカル環境がコマンドラインを必要とするならWSL2+Docker Desktopで良いのでは? 今だとDocker DesktopのGUIからコンソールに入って作業でもできそうな気がするけど。



それで扱うファイルはどこに置いているんですかね。
A. Docker volume (volumeオブジェクトをコンテナ内でマウント)
B. WSL2 (Windowsからみると\\wsl$\下)
C. Windows (WSL2からみると/mnt/c/下)

Aの方法だと何らかのDockerコンテナ経由でしかファイルに触らないので、コンテナ内でrootに統一していれば権限問題はないかと。
開発ツールも同じvolumeをマウントしたコンテナとかどうかな。Windows10ではまだWSL2でGUIは使えないんだっけ?
BだとホストがWSL2ユーザでコンテナがrootだと確かに不整合を起こすことがあるかも。WSL2ユーザは基本UID=GID=1000なのでコンテナも1000で作っておけば整合性は取れそうだけど、rootでないと使えないコンテナも多いからね。
CはWSL2側からだと全ファイルがフルコントロールに見えるんだっけか。セキュリティ的に宜しくないのでお勧めしません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

私はBです。たしかにコンテナ内を1000にするとできるようなネットの書き込みを見ますが、実際にはうまくいきません。かと言ってAのコンテナ内を直接触るのは嫌だし。

Windowsにとってのベストプラクティスってどれ?って考えることが定期的にあるんですよ。

結局、WSL2+DockerDeskを入れ、Dockercomposeでwordpress、mysql、wordmove、phpmyadminのイメージを使いWPローカル環境を作るには何がよいのでしょうかね?

お礼日時:2022/10/17 17:30

うーん、実際上どんな環境かよく分かりません。


Windows上に入れたDockerってDocker Desktop? これも今は基本WSL2上で使うと思うけど。数年前まではVirtual BoxとかHyper-V上で仮想Linuxマシンを立ち上げてDockerコンテナを動かしていましたが、今は標準でWSL2環境のコンテナを使います。
WSL2+DockerというのがWSL2のLinux上でLinux版Docker CEを動かすというのだと、ちょっと前に大企業でのDocker Desktopの利用が有償化されたので、その回避としてならありかな。Dockerサーバを明示的に起動しないと機能しないので、使い方によっては面倒かも。逆に勝手にサービス起動するということがないのでマシンスペックによってはこちらの方が便利かも。
今後はLinux版もDocker Desktopに進みそうなので基本は1かな。
    • good
    • 0
この回答へのお礼

説明が足りず申し訳ありません。

1.がベストですか。ちなみに、WSL2(Ubuntu?)のユーザーはrootですか?私はユーザーにしておりますが、ファイル権限で問題になることがあるんですよ。みなさんは2.でのユーザーは何を設定しているのでしょうか?

コンテナがrootでWSLがユーザーであることで問題が起こるみたいなんですよね。

お礼日時:2022/10/16 14:17

1.Win10+docker


Dockerをインストール後起動、
WordPressをインストールしたいディレクトリに、docker-compose.ymlファイルを作成し、何箇所かコードを編集し、
wp_○○○の部分を任意の名前に変え(2箇所)
8081:80 の8081を任意のポート番号に変え、
(MAMPなどでポート番号8081を使っている場合は違う番号にする)
4306:80 の4306を任意のポート番号に変え、
(MAMPなどでポート番号4306を使っている場合は違う番号にする)

ポート番号は重複してはいけないので、もし複数のWordPressの環境を構築する場合、違うポート番号にします。

先に作成したdocker-compose.ymlをもとに、WordPressをインストールし、作業ディレクトリのフルパスをコピーし、(wpディレクトリのフルパスをコピー)ターミナル(コマンドプロンプト)で順番に実行。
(cd フルパス

docker-compose up)
実行後、WordPressのインストールが始まります。
表示されたらインストールは完了。
ターミナル(コマンドプロンプト)を終了。
サイト上でWordPressにアクセスできます。
アクセスします。localhost:8081/(8081/の部分は、docker-compose.ymlで指定したポート番号)
    • good
    • 0
この回答へのお礼

親切丁寧なご説明、ありがとうございます。
これは1.での構築方法ですね。

お礼日時:2022/10/16 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!