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

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

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WordPress

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

Docker

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

Q&A

解決済

2回答

691閲覧

DockerでWordPress環境構築

motope

総合スコア11

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WordPress

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

Docker

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

0グッド

1クリップ

投稿2018/02/20 18:03

編集2018/02/21 16:30

dockerでWordPressを導入したい

下記ページを参考に
http://naremo.jp/2016/11/docker-wordpress/
Dockerを使ってWordPress環境を構築しようとしています

こちらのコマンドでコンテナの起動はできている様なのですが
$ docker-compose up -d

http://localhost:8000」にアクセスしても
「ページを開けません」とエラーが表示されてしまいます

docker-compose.ymlも問題ない様なので
他に疑いがある部分がなくて困っております

こちらのコマンドでコンテナが意図通りに起動しているのは確認できています
$ docker ps

ポート8080ですとphpMyadminには接続できました
http://localhost:8080

マシン一覧が表示されないことが関係しているのでしょうか
$ docker-machine ls

docker-compose.yml

version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress

バージョン情報

Mac
docker-compose version 1.18.0, build 8dd22a9

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

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

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

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

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

guest

回答2

0

ベストアンサー

ポート番号確認してください。

sh

1$ ss -natl

以下のように8000番があると思います。

イメージ説明

以下のコマンドでIPアドレスを確認してください。

sh

1$ ip -4 a

コマンドを実行しているコンソールがdocker machineなので、上で確認したIPアドレスとポート番号を使用すればアクセスできるはずです。

【補足】

  • 利用環境がMacなので、Mac上の仮想マシンにLinux、仮想マシンのLinux上でdockerを動かす仕組みになっている
  • 質問者は仮想マシンのLinux上で操作を行っている
  • Macのブラウザでlocalhost:8000にアクセスしているので、dockerコンテナにアクセスできていない
  • 仮想マシンのLinux上でdocker-machine lsを実行しているので、マシン一覧は表示されない
  • Macのターミナルでdocker-machine lsを実行すれば、仮想マシンのLinuxが表示されるはず

【追記】

以下のようにコンテナを一旦停止して、-dなしで起動して正常に起動できているか確認してみてください。

sh

1$ docker stop 2$ docker up

【追記2】

sh

1# dbコンテナでbash起動 2$ docker-compose exec db bash 3 4# MySQLログイン 5$ mysql -u root -pwordpress 6 7# ユーザ確認 8mysql> select user,host from mysql.user; 9+---------------+-----------+ 10| user | host | 11+---------------+-----------+ 12| root | % | 13| wordpress | % | ←これがあればwordpressユーザは外部ホストから接続できるはず 14| mysql.session | localhost | 15| mysql.sys | localhost | 16| root | localhost | 17+---------------+-----------+

投稿2018/02/21 21:58

編集2018/02/24 13:20
tkmtmkt

総合スコア1800

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

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

motope

2018/02/24 03:51

丁寧に説明いただき有難うございます 私の場合はDocker for Macを使用しており 仮想マシンのLinuxを意識せずに済む状態となっております そのため、仮想マシンのLinex上では操作をしておらず Macのターミナルから操作を行なっており こちらのコマンドはターミナル上で実行しております $ docker-machine ls Macではssコマンドがありませんので 下記のコマンドでポート番号を確認しました $ sudo lsof -P -i:8000 -n Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vpnkit 449 ユーザー名 18u IPv4 0x37b059ddafbe313 0t0 TCP *:8000 (LISTEN) vpnkit 449 ユーザ名 19u IPv6 0x37b059dd935790b 0t0 TCP [::1]:8000 (LISTEN) 恐らくIPアドレスは127.0.0.1だと思われるのですが 同様のエラーが表示されてしまいました
motope

2018/02/24 07:17

$ docker-compose upですね 試したところエラーが出ている様です $ docker-compose up Starting wordpress_db_1 ... done Starting wordpress_wordpress_1 ... done Attaching to wordpress_db_1, wordpress_wordpress_1 db_1 | 2018-02-24T07:15:40.639203Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). db_1 | 2018-02-24T07:15:40.646092Z 0 [Note] mysqld (mysqld 5.7.21) starting as process 1 ... db_1 | 2018-02-24T07:15:40.650569Z 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive db_1 | 2018-02-24T07:15:40.655862Z 0 [Note] InnoDB: PUNCH HOLE support available db_1 | 2018-02-24T07:15:40.655919Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins db_1 | 2018-02-24T07:15:40.655930Z 0 [Note] InnoDB: Uses event mutexes db_1 | 2018-02-24T07:15:40.655939Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier db_1 | 2018-02-24T07:15:40.655979Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3 db_1 | 2018-02-24T07:15:40.656079Z 0 [Note] InnoDB: Using Linux native AIO db_1 | 2018-02-24T07:15:40.656975Z 0 [Note] InnoDB: Number of pools: 1 db_1 | 2018-02-24T07:15:40.657492Z 0 [Note] InnoDB: Using CPU crc32 instructions db_1 | 2018-02-24T07:15:40.660958Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M db_1 | 2018-02-24T07:15:40.667226Z 0 [Note] InnoDB: Completed initialization of buffer pool db_1 | 2018-02-24T07:15:40.668806Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). db_1 | 2018-02-24T07:15:40.709461Z 0 [Note] InnoDB: Highest supported file format is Barracuda. wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (2002) Connection refused db_1 | 2018-02-24T07:15:40.782507Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables db_1 | 2018-02-24T07:15:40.783927Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... db_1 | 2018-02-24T07:15:40.858203Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB. db_1 | 2018-02-24T07:15:40.863664Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. db_1 | 2018-02-24T07:15:40.864054Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active. db_1 | 2018-02-24T07:15:40.865599Z 0 [Note] InnoDB: 5.7.21 started; log sequence number 2551739 db_1 | 2018-02-24T07:15:40.866245Z 0 [Note] Plugin 'FEDERATED' is disabled. db_1 | 2018-02-24T07:15:40.866940Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool db_1 | 2018-02-24T07:15:40.904109Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. db_1 | 2018-02-24T07:15:40.913314Z 0 [Warning] CA certificate ca.pem is self signed. db_1 | 2018-02-24T07:15:40.916245Z 0 [Note] Server hostname (bind-address): '*'; port: 3306 db_1 | 2018-02-24T07:15:40.916730Z 0 [Note] IPv6 is available. db_1 | 2018-02-24T07:15:40.916916Z 0 [Note] - '::' resolves to '::'; db_1 | 2018-02-24T07:15:40.917071Z 0 [Note] Server socket created on IP: '::'. db_1 | 2018-02-24T07:15:40.931694Z 0 [Note] InnoDB: Buffer pool(s) load completed at 180224 7:15:40 db_1 | 2018-02-24T07:15:40.953693Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.954010Z 0 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.954153Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.955019Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.955188Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.956029Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.984131Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:40.984387Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode. db_1 | 2018-02-24T07:15:41.204032Z 0 [Note] Event Scheduler: Loaded 0 events db_1 | 2018-02-24T07:15:41.204680Z 0 [Note] mysqld: ready for connections. db_1 | Version: '5.7.21' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL) wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server wordpress_1 | wordpress_1 | Warning: mysqli::__construct(): (HY000/1130): Host '172.21.0.3' is not allowed to connect to this MySQL server in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1130) Host '172.21.0.3' is not allowed to connect to this MySQL server
tkmtmkt

2018/02/24 12:45

エラーメッセージを調べるとMySQLに接続してホストからの接続を拒否していることを示しているようですが、自分の環境では同じdocker-compose.ymlで問題なく起動できています。 dockerのバージョンはいくつでしょうか?自分の環境は以下のとおりです。 $ docker --version Docker version 17.12.0-ce, build c97c6d6
motope

2018/02/24 15:00

下記コマンドでユーザーを追加し $ CREATE USER wordpress; 下記で権限を追加しました $ GRANT SELECT, INSERT, UPDATE ON * TO wordpress; こちらで確認したところuser:root, host:%も無かったので 同様のコマンドでrootユーザーも追加しました mysql> select user , host from mysql.user; +---------------+-----------+ | user | host | +---------------+-----------+ | root | % | | wordpress | % | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +---------------+-----------+ その後コンテナを-d無しで再起動したのですが 先ほどとは微妙に異なるエラーが発生しております wordpress_1 | Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'root'@'172.21.0.3' (using password: YES) in Standard input code on line 22 wordpress_1 | wordpress_1 | MySQL Connection Error: (1045) Access denied for user 'root'@'172.21.0.3' (using password: YES) dokcerのバーションはこちらになります $ docker --version Docker version 17.12.0-ce, build c97c6d6
tkmtmkt

2018/02/24 15:15 編集

MySQLコンテナの最初の起動時に何らかのエラーがあってユーザができていない可能性が考えられます。 以下の操作を行って最初からやり直してみてはどうでしょう。 $ docker-compose down $ sudo rm -rf .data $ docker-compose up ※ホストの.dataディレクトリにデータベースファイルを保存するようになっているので、downだけではデータベースの再作成が実行されないです。
motope

2018/02/25 13:12 編集

いただいたコマンドでコンテナを再起動してみましたが 同様のエラーが発生しました こちらのサイトを基にしてコンテナを作成することで WordPressの初期設定画面まで進むことができました https://www.kimurak.net/wordpress/wordpress/2505/ 根本的な解決に至らず悔やまれますが 一旦このまま進めようと思います 懇切丁寧にご返答頂きましてありがとうございました
tkmtmkt

2018/02/25 13:58

質問欄に記載されているdocker-compose.ymlをコピペして動かしているので、MySQLのユーザ設定が異なることはないと思うのですが、どうなっているんでしょうね。 お役に立てずに申し訳なし。
guest

0

そちらのdocker-compose.ymlで起動をしていないので、なんとも言えないのですが、docker-for-wordpressが以前作った環境なので、よろしければお使いください。

そちらの解説もこちらの記事で書いてありますので、合わせてご確認ください。
そのほか質問等ありましたら、お答えします!

投稿2018/02/21 00:29

kenny_sayama

総合スコア1036

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

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

motope

2018/02/21 16:22

同様のエラーでWordPressの画面が表示されませんでした hostsの設定でしょうか ``` ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost ~ ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問