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

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

ただいまの
回答率

90.35%

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

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 1,312

KyutoYosihama

score 28

経緯

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

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

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

環境

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

質問内容

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

version: "2"

services:
  #app:
  #  image: centos
  # Mariadb
  mariadb:
    build: ./server/docker/mariadb
    #volumes_from:
      #- app
    volumes:
      - ./data/db:/var/lib/mysql
    restart: always
    ports:
      - "4306:3306"
    networks:
      - wordpress_network
    env_file: .env
  wordpress:
    image: wordpress:php7.2-apache
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - mariadb
    restart: always
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
    volumes:
      - ./data/html:/var/www/html
      - "$PWD/.docker/backup:/tmp/backup"
      - "$PWD/.docker/log:/tmp/log"
    networks:
      - wordpress_network
    env_file: .env

# 名前付きデータボリューム
volumes:
  db:
networks:
  wordpress_network:
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=admin
WORDPRESS_DB_PASSWORD=pass

MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_DATABASE=wordpress
MYSQL_USER=admin
MYSQL_PASSWORD=pass
FROM MariaDB:10.1
MAINTAINER ●●●

COPY ./conf.d/my.cnf /etc/mysql/conf.d/zzz-my.cnf
#COPY ./docker-entrypoint-initdb.d /docker-entrypoint-initdb.d

# treat Windows
RUN chmod 644 /etc/mysql/conf.d/*
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci

log-error = /dev/stdout
log_queries_not_using_indexes = true
general_log = true
general_log_file = /dev/stdout
slow_query_log = true
slow_query_log_file = /dev/stdout
long_query_time = 1.0

performance_schema = false
table_definition_cache = 400

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

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • CHERRY

    2018/10/09 18:56

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

    キャンセル

  • KyutoYosihama

    2018/10/09 19:00

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

    キャンセル

回答 4

checkベストアンサー

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 13:44

    回答ありがとうございます。
    上記を試してdocker psを行ったところ、mariadbの再起動は回避されたみたいです。
    また、http://localhostでアクセスすると、wordpressのインストール画面が開きました。
    ありがとうございます。
    ちなみに、これはdocker-compose downでdockerを落とした場合は毎回必要になる手順でしょうか?

    MariaDBのアルファベットの部分はchromeの拡張機能で勝手に修正入ってました。
    指摘ありがとうございます。

    キャンセル

  • 2018/10/10 13:52 編集

    volumeが永続化になっているので、今後は大丈夫のはずです。
    今実際にdownさせましたが残っていました。
    mariadbの件、承知しました!

    ↑すみません、ファイルが残ったままになるので毎回必要になってしまいます。

    キャンセル

  • 2018/10/10 14:19

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

    キャンセル

0

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

docker logs dockermariadb_1


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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/10 13: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

    との表示が出ました。

    キャンセル

  • 2018/10/10 13:43

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

    キャンセル

  • 2018/10/10 14:52

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

    キャンセル

0

  wordpress:
    image: wordpress:php7.2-apache
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080" #←追加する


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

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/10 13: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

    となっております。

    キャンセル

  • 2018/10/10 14:10

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

    キャンセル

  • 2018/10/10 14:37

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

    キャンセル

0

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

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

で動くきがします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/10 12: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

    との表示が出ました。

    キャンセル

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

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る