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

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

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

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

WordPress

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

Docker

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

Q&A

解決済

4回答

4474閲覧

docker-composeでローカル環境にwordpressを設定してもlocalhostに繋げない。

KyutoYosihama

総合スコア30

docker-compose

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

WordPress

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

Docker

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

0グッド

1クリップ

投稿2018/10/09 09:48

経緯

ローカル環境にwordpressの開発環境を用意するとのことで、
会社で用意しているdockerのパッケージを使用して、
準備したのですがlocalhostに接続ができませんでした。。。

以前別の環境を用意する際に、
同じパッケージを利用して、指示通りの手順で設定し、
問題なくできたので今回も同様の手順でやってみたものの接続できず。。。

パッケージを用意してくれた上司に聞いてもわからず...

環境

MacOS High Sierra(10.13.6)
Docker 18.06.1-ce-mac73 (26764)

質問内容

パッケージの中の階層
イメージ説明

dockercompose

1version: "2" 2 3services: 4 #app: 5 # image: centos 6 # Mariadb 7 mariadb: 8 build: ./server/docker/mariadb 9 #volumes_from: 10 #- app 11 volumes: 12 - ./data/db:/var/lib/mysql 13 restart: always 14 ports: 15 - "4306:3306" 16 networks: 17 - wordpress_network 18 env_file: .env 19 wordpress: 20 image: wordpress:php7.2-apache 21 ports: 22 - "80:80" 23 - "443:443" 24 depends_on: 25 - mariadb 26 restart: always 27 environment: 28 WORDPRESS_DB_HOST: mariadb:3306 29 volumes: 30 - ./data/html:/var/www/html 31 - "$PWD/.docker/backup:/tmp/backup" 32 - "$PWD/.docker/log:/tmp/log" 33 networks: 34 - wordpress_network 35 env_file: .env 36 37# 名前付きデータボリューム 38volumes: 39 db: 40networks: 41 wordpress_network: 42

env

1WORDPRESS_DB_NAME=wordpress 2WORDPRESS_DB_USER=admin 3WORDPRESS_DB_PASSWORD=pass 4 5MYSQL_RANDOM_ROOT_PASSWORD=yes 6MYSQL_DATABASE=wordpress 7MYSQL_USER=admin 8MYSQL_PASSWORD=pass 9

Dokerfile

1FROM MariaDB:10.1 2MAINTAINER ●●● 3 4COPY ./conf.d/my.cnf /etc/mysql/conf.d/zzz-my.cnf 5#COPY ./docker-entrypoint-initdb.d /docker-entrypoint-initdb.d 6 7# treat Windows 8RUN chmod 644 /etc/mysql/conf.d/* 9

mycnf

1[mysqld] 2character_set_server = utf8mb4 3collation_server = utf8mb4_unicode_ci 4 5log-error = /dev/stdout 6log_queries_not_using_indexes = true 7general_log = true 8general_log_file = /dev/stdout 9slow_query_log = true 10slow_query_log_file = /dev/stdout 11long_query_time = 1.0 12 13performance_schema = false 14table_definition_cache = 400 15

上記の状態で、設置している階層に行き、ターミナルにて
docker-compose build
して
docker-compose up -d
を行い
http://localhost:8080/
にアクセスしても繋がりません。(以前はこれで繋がりました。。。)

docker ps
にてコンテナの挙動を確認すると、
mariadb側がずっとRestarting (1)となっていて、これが原因じゃないかと思うのですが、解決方法がわかりません。

申し訳ございませんが、原因に心当たりがある、またはご存知の方がいらっしゃいましたら
お力を貸していただけませんでしょうか?

どうぞよろしくお願いいたします。

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

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

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

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

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

CHERRY

2018/10/09 09:56

docker のポート設定は、80 のようですが、http://localhost:80/ だと接続できるたりしますか?
KyutoYosihama

2018/10/09 10:00

やってみましたがダメでした。
guest

回答4

0

ベストアンサー

mariadbが再起動を繰り返しているようですので
https://help.directadmin.com/item.php?id=702
これを参考に
~/work/mari/data/db $ sudo mv aria_log_control aria_log_control.move
こんな感じでaria_log_controlをリネームし、再びdocker-compose upをしたところできました。

wordpressコンテナが何度かmaridbコンテナにリトライしているようですので、少し待ってあげる必要があります。

なお余談ですがDockerfileの
FROM MariaDB:10.1

FROM mariadb:10.1
にしました(当方の環境ではエラーになってしまったので)
それ以外は質問内容に掲げられているファイルと同じ内容です。

投稿2018/10/10 04:23

ponzu1990

総合スコア57

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

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

KyutoYosihama

2018/10/10 04:44

回答ありがとうございます。 上記を試してdocker psを行ったところ、mariadbの再起動は回避されたみたいです。 また、http://localhostでアクセスすると、wordpressのインストール画面が開きました。 ありがとうございます。 ちなみに、これはdocker-compose downでdockerを落とした場合は毎回必要になる手順でしょうか? MariaDBのアルファベットの部分はchromeの拡張機能で勝手に修正入ってました。 指摘ありがとうございます。
ponzu1990

2018/10/10 04:55 編集

volumeが永続化になっているので、今後は大丈夫のはずです。 今実際にdownさせましたが残っていました。 mariadbの件、承知しました! ↑すみません、ファイルが残ったままになるので毎回必要になってしまいます。
KyutoYosihama

2018/10/10 05:19

承知しました。それでも突破口が見つかったので助かりました。 他の方の助言もいただきながら、様々な方法を試してみます。 ありがとうございます。
guest

0

https://hub.docker.com/_/wordpress/ を見る限り

wordpress: image: wordpress:php7.2-apache ports: - "8080:80" ←ここ変更 - "443:443"

で動くきがします。

投稿2018/10/09 11:27

mosapride

総合スコア1480

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

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

KyutoYosihama

2018/10/10 03:46

回答ありがとうございます。 変更後にbuildして、up -dしましたが、 ERROR: yaml.parser.ParserError: while parsing a block collection in "./docker-compose.yml", line 23, column 7 expected <block end>, but found '<scalar>' in "./docker-compose.yml", line 23, column 20 との表示が出ました。
guest

0

YAML

1 wordpress: 2 image: wordpress:php7.2-apache 3 ports: 4 - "80:80" 5 - "443:443" 6 - "8080:8080" #←追加する

8080番ポートをexposeしてないから、とかでしょうか。

投稿2018/10/09 10:19

編集2018/10/09 12:16
kazto

総合スコア7196

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

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

KyutoYosihama

2018/10/09 11:07

回答ありがとうございます。 ports: - "443:443" expose: - "80:80" というような形でしょうか?
kazto

2018/10/09 12:22

追記しました。 また、MariaDBのDockerfileは記載がありますが、WordPress側のDockerfileが記載されていません。そちらでの「EXPOSE 8080」も必要なように思います。
KyutoYosihama

2018/10/10 03:51

返答、追記ありがとうございます。 追記してbuildして、up -dしましたが、やっぱりダメでした。 今回のパッケージにはwordpress側のDockerfileは元からないのですが、どのような内容にして用意すればよろしいでしょうか?
kazto

2018/10/10 04:19

> wordpress側のDockerfile ああそうか、image直接指定してるのでDockerfileは無いのですね。失礼しました。 up -dした時のpsの結果、8080番は開いてるでしょうか。
kazto

2018/10/10 04:46

docker-compose ps の結果を省略せず記載してください。
KyutoYosihama

2018/10/10 04:53

失礼しました。 Name Command State Ports ------------------------------------------------------------------------------------------------------------------------------------- wordpress-dev_mariadb_1 docker-entrypoint.sh mysqld Up 0.0.0.0:4306->3306/tcp wordpress-dev_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp となっております。
kazto

2018/10/10 05:10

ポートは開いている、と。 そうなりますと、Docker側に問題はなさそうに思います。 ホストマシンのファイアウォールはOFFになっているか、適切にポートが開いていることを確認してください。
KyutoYosihama

2018/10/10 05:37

ファイアウォールはOFFでした。 ネットワークユーティリティで開いてるポートを調べたところ、 80 443 8080 ともに開いていました。
guest

0

mariadb側のrestartをやめて(エラーで止める)

docker logs dockermariadb_1

なにかエラーがでてないでしょうか?(コンテナ名はこんな風になっているはず、正確にはdodcker psを参照)

投稿2018/10/09 09:59

taka2063

総合スコア307

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

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

KyutoYosihama

2018/10/09 10:05

回答ありがとうございます。 エラーで止めるというのがわからないのですが、docker-composeでコメントアウトして、上記のコマンドを打てばよろしいでしょうか?
taka2063

2018/10/09 23:56

`restart: always` ここがコンテナが落ちても自動起動になっているのでエラーがでてもすぐに再起動がかかります。一旦コメントアウトしてエラーを確認しましょう。あと他の方が言われてるように`compose.yml`では`80`と書いているのに`http://localhost:8080`はおかしいですね。imageを見るとwebサーバーは80 なのでブラウザからは特に指定しないで`http://localhost`でいいと思います。
KyutoYosihama

2018/10/10 04:19

返答ありがとうございます。 コメントアウトし、buildして、up -dのあとにdocker psを打つとmariadbは表示されず、 docker logs dockermariadb_1を打つと 2018-10-10 3:53:04 140567433136128 [Note] mysqld (mysqld 10.1.36-MariaDB-1~bionic) starting as process 1 ... 2018-10-10 3:53:04 140567433136128 [ERROR] mysqld: Got error 'File size bigger than expected' when trying to use aria control file '/var/lib/mysql/aria_log_control' 2018-10-10 3:53:04 140567433136128 [ERROR] Plugin 'Aria' init function returned error. 2018-10-10 3:53:04 140567433136128 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed. 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Using mutexes to ref count buffer pool pages 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: The InnoDB memory heap is disabled 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Compressed tables use zlib 1.2.11 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Using Linux native AIO 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Using SSE crc32 instructions 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Initializing buffer pool, size = 256.0M 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Completed initialization of buffer pool 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Highest supported file format is Barracuda. 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: 128 rollback segment(s) are active. 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Waiting for purge to start 2018-10-10 3:53:04 140567433136128 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.39-83.1 started; log sequence number 1617333 2018-10-10 3:53:04 140566608213760 [Note] InnoDB: Dumping buffer pool(s) not yet started 2018-10-10 3:53:04 140567433136128 [Note] Plugin 'FEEDBACK' is disabled. 2018-10-10 3:53:04 140567433136128 [ERROR] Aria engine is not enabled or did not start. The Aria engine must be enabled to continue as mysqld was configured with --with-aria-tmp-tables 2018-10-10 3:53:04 140567433136128 [ERROR] Aborting との表示が出ました。
taka2063

2018/10/10 04:43

感ですが、まだデータは入ってないのであればdata/db(ホスト側)を一旦消して再起動で動きません?同じエラーになりますかね?
KyutoYosihama

2018/10/10 05:52

削除して再起動しましたがダメでした。 docker psでmariadbの表示が消えてしまいます。 docker logsでもかなり長文の表示が出てきたのですが、分からずじまいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問