質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1311閲覧

Vagrant/DockerでWordPressを作りたいのですが「このページは動作していません」が返されます

yomomimi104snow

総合スコア16

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2020/04/18 05:00

編集2020/04/18 12:18

Macで作業をしております。
DesktopにVagrantフォルダを作成し

vagrant up vagrant ssh

としております。
その後

docker pull mysql docker pull wordpress docker run --name mariadb -e MYSQL_ROOT_PASSWORD=mariadb -d mariadb docker run --name wordpress --link mariadb:mariadb -d -p 8080:80 wordpress

とすると

docker ps

コマンドでは

status up

されているのは確認できるのですが、

http://localhost:8080/

で確認すると動作していない状態が確認できます。
Dockerもvagrantもこれから勉強を始めていく段階なので、全くの初心者の質問で恐縮なのですが、
なにが原因でこうなるのかご教示頂ければありがたいです。

ちなみに

docker ps -a で状態を確認すると CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ************ wordpress:latest "docker-entrypoint.s 7 minutes ago Up 7 minutes 0.0.0.0:8080->80/tcp wordpress ************ mariadb:latest "docker-entrypoint.s 12 minutes ago Up 12 minutes 3306/tcp mariadb

となっております。

よろしくおねがいします

■追記
ご回答を頂いたあとに追記させて頂きました。

sudo docker run -d -it --name test-mysql -e MYSQL_ROOT_PASSWORD=password mysql sudo docker run -d -it --name test-wordpress --link test-mysql:mysql -p 8080:80 wordpress

とし、

sudo docker ps -a

を入力すると以下が表示されます

vagrant@ubuntu:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ************ wordpress:latest "docker-entrypoint.s 9 seconds ago Up 9 seconds 0.0.0.0:8080->80/tcp test-wordpress ************ mysql:latest "docker-entrypoint.s 49 seconds ago Up 49 seconds 3306/tcp, 33060/tcp test-mysql

その後、

sudo systemctl stop firewalld

とすると

sudo: systemctl: command not found

と返されます。

また

docker images

とすると

wordpress,mariadb,mysql,centos(すべてlatest)となっているのですが現在動いているモノ以外で

docker run

させることが必要なのか...煮詰まっています。

最後に頂いたアドバイスを元にVagrantfileは

config.vm.network "private_network", ip: "192.168.33.10"

(config.vm.networkの元々行頭にあった#は削除しました)

■追々記 ご参考になるかわからないのですが...
Vagrant haltすると

Connection to 127.0.0.1 closed.

とターミナルに表示されます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

お使いのPC上のブラウザでhttp://localhost:8080/とアクセスしていますか?
そうだとしたら、この場合はPCに対してアクセスすることになり、Vagrant上たてたvm上にアクセス出来ていない状態かと思います。

vagrant sshをしてvmのログインした状態で、curl localhost:8080をhtmlのレスポンスが返されるんじゃないかと思います。

であれば、dockerの起動は問題ないので、

vagrantのvmにIPアドレス(192.168.33.10とか)を振って、vmのファイヤーウォールを切ると(8080ポートをオープンにする)、お使いのPCからアクセスできるかと思います。

IPを振るのはVagrantfileで可能です。
vmのファイヤーウォールを切るのはvmのOSによって異なりますが、centos7とかを使用している場合、

sudo systemctl stop firewalld

で切れます。

投稿2020/04/18 05:16

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yomomimi104snow

2020/04/18 12:11

BEKKOさま ご回答ありがとうございます。 頂いた回答でdockerの起動は問題ないので…と記載頂き、少し元気づけられました。 curl localhost:8080をターミナルから入力した所、<h1>Error establishing a database connection</h1> というメッセージが返されているようです。 頂いたアドバイスをもとに行ったこと、それでも解決できないことを記載してみました。 改めてご教示いただければ大変ありがたいです。 よろしくおねがいします
退会済みユーザー

退会済みユーザー

2020/04/18 12:25

いえいえ。 整理すると問題となっている箇所は2点ですね。 1. 現在dockerの立ち上げはうまくいっているが、wordpressからdockerで起動したdbに接続出来ていない 2. PCから(ちなみにホストOSと言う) 192.168.33.10にアクセス出来ない。 1に関しては、 wordpressに設定しているDBの認証情報(user, password)が間違っているかもしれないということと、 wordpressのコンテナからmysqlのコンテナの3306ポートにアクセス出来ていない。ということが考えられます。 後者の方は設定が難しいと思います。以下記事とか参考にしてください。難しいようであればdocker linkとか、コンテナ間接続とかで調べてみてください。 https://knowledge.sakura.ad.jp/16082/ 2に関しては、 systemctl コマンドがないとのことですが、Vagrantファイルに書かれているOSは何でしょうか? そのOSによってファイヤーウォールの切り方が異なります。systemctlはcentos7移行でのファイヤーウォール設定のコマンドです。 お使いのVMのOSを調べて、そのOSでのファイヤーウォールの切り方を調べれば、ホストOSからアクセス可能になると思います(ブラウザから192.168.33.10にアクセスできる)。
yomomimi104snow

2020/04/20 00:07

BEKKOさま おかげさまにて問題を解消することができました。 昨日もお礼コメント入力したはずだったのですが、消えてしまっていたので改めてコメントさせて頂きます。 >Vagrantファイルに書かれているOSは何でしょうか? とございましたので改めて'ubuntu'だったことを確認し、ufwにてポートを開放、MySQLのバージョンを'latest'ではなく5.7にすることでWordPressのインストール画面までたどり着くことができました。 今度はdockerで落としてきたWordPresの内容をローカルで操作するためには今回の操作内容とは別に.ymlファイルをいじったり、バインドというのが必要なようなので改めて勉強していこうと思います。 この度はありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問