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

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

ただいまの
回答率

87.61%

Dockerでコンテナが再構築できない

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,326

score 7

laradockとMySQLの接続が上手くいかず
以下の記事を参考にlaradock_mysqlを消去しましたが
再構築が上手くいきません。

https://qiita.com/dnrsm/items/4bd078c17bb0d6888647

docker-compose build mysqlで再構築を試したがexitが表示される

$ docker-compose build mysql
Building mysql
Step 1/10 : ARG MYSQL_VERSION=latest
Step 2/10 : FROM mysql:${MYSQL_VERSION}
 ---> cd3ed0dfff7e
Step 3/10 : LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
 ---> Using cache
 ---> ad1eaddfdd3c
Step 4/10 : ARG TZ=UTC
 ---> Using cache
 ---> 85de8f5edbf4
Step 5/10 : ENV TZ ${TZ}
 ---> Using cache
 ---> 4bb2c4140532
Step 6/10 : RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/
 ---> Using cache
 ---> 274222389848
Step 7/10 : COPY my.cnf /etc/mysql/conf.d/my.cnf
 ---> Using cache
 ---> 1d03f5dedba6
Step 8/10 : RUN chmod 0444 /etc/mysql/conf.d/my.cnf
 ---> Using cache
 ---> ffaa008e0e2b
Step 9/10 : CMD ["mysqld"]
 ---> Using cache
 ---> d98731378b70
Step 10/10 : EXPOSE 3306
 ---> Using cache
 ---> c8991e074e96
Successfully built c8991e074e96
Successfully tagged laradock_mysql:latest
mullan-mac:laradock @@@$ docker-compose ps
           Name                          Command                State                      Ports                  
------------------------------------------------------------------------------------------------------------------
laradock_beanstalkd_1         /usr/bin/beanstalkd              Exit 137                                           
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up         2375/tcp, 2376/tcp                      
laradock_mysql_1              docker-entrypoint.sh mysqld      Exit 2                                             
laradock_nginx_1              /bin/bash /opt/startup.sh        Up         0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm    Up         9000/tcp                                
laradock_phpmyadmin_1         /docker-entrypoint.sh apac ...   Up         0.0.0.0:8080->80/tcp                    
laradock_redis_1              docker-entrypoint.sh redis ...   Exit 0                                             
laradock_workspace_1          /sbin/my_init                    Up         0.0.0.0:2222->22/tcp  


docker-compose up -d nginx mysql phpmyadminで試したがmysqlのみ表示されない

$ docker-compose up -d nginx mysql phpmyadmin
Starting laradock_mysql_1 ... 
laradock_docker-in-docker_1 is up-to-date
laradock_workspace_1 is up-to-date
laradock_php-fpm_1 is up-to-date
Starting laradock_mysql_1 ... done
Starting laradock_phpmyadmin_1 ... done
mullan-mac:laradock @@@$ docker container ls
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                      NAMES
285e1a3ee342        laradock_phpmyadmin   "/docker-entrypoint.…"   12 minutes ago      Up 11 seconds       0.0.0.0:8080->80/tcp                       laradock_phpmyadmin_1
e18f799feb80        laradock_nginx        "/bin/bash /opt/star…"   26 hours ago        Up 2 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   laradock_nginx_1
3cfac25ab736        laradock_php-fpm      "docker-php-entrypoi…"   26 hours ago        Up 2 minutes        9000/tcp                                   laradock_php-fpm_1
0fce26e9732d        laradock_workspace    "/sbin/my_init"          26 hours ago        Up 2 minutes        0.0.0.0:2222->22/tcp                       laradock_workspace_1
5acb64003410        docker:dind           "dockerd-entrypoint.…"   26 hours ago        Up 2 minutes        2375-2376/tcp  


もしお分かりになる方がいらっしゃいましたら
ご教授いただきたいです。
よろしくお願い致します。

--no-cacheをつけて再構築を試してみた結果

$ docker-compose build --no-cache mysql
Building mysql
Step 1/10 : ARG MYSQL_VERSION=latest
Step 2/10 : FROM mysql:${MYSQL_VERSION}
 ---> cd3ed0dfff7e
Step 3/10 : LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
 ---> Running in daab6ea0794a
Removing intermediate container daab6ea0794a
 ---> 1943a8fddde6
Step 4/10 : ARG TZ=UTC
 ---> Running in ac35f7f65558
Removing intermediate container ac35f7f65558
 ---> c582f5b86d99
Step 5/10 : ENV TZ ${TZ}
 ---> Running in 0ff53fa7230c
Removing intermediate container 0ff53fa7230c
 ---> d652c99ce8c3
Step 6/10 : RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/
 ---> Running in a95b1b2ed26c
Removing intermediate container a95b1b2ed26c
 ---> 2b2cec091ed8
Step 7/10 : COPY my.cnf /etc/mysql/conf.d/my.cnf
 ---> 95ecaebf8ed7
Step 8/10 : RUN chmod 0444 /etc/mysql/conf.d/my.cnf
 ---> Running in 3cfaecc4da23
Removing intermediate container 3cfaecc4da23
 ---> a6b8123a6bd7
Step 9/10 : CMD ["mysqld"]
 ---> Running in b981de656294
Removing intermediate container b981de656294
 ---> b31c4377bc5d
Step 10/10 : EXPOSE 3306
 ---> Running in ca50eda84f9b
Removing intermediate container ca50eda84f9b
 ---> ca92f3ca91cc
Successfully built ca92f3ca91cc
Successfully tagged laradock_mysql:latest
mullan-mac:laradock @@@$ docker container ls
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                      NAMES
285e1a3ee342        laradock_phpmyadmin   "/docker-entrypoint.…"   About an hour ago   Up 54 minutes       0.0.0.0:8080->80/tcp                       laradock_phpmyadmin_1
e18f799feb80        laradock_nginx        "/bin/bash /opt/star…"   27 hours ago        Up 56 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   laradock_nginx_1
3cfac25ab736        laradock_php-fpm      "docker-php-entrypoi…"   27 hours ago        Up 56 minutes       9000/tcp                                   laradock_php-fpm_1
0fce26e9732d        laradock_workspace    "/sbin/my_init"          27 hours ago        Up 56 minutes       0.0.0.0:2222->22/tcp                       laradock_workspace_1
5acb64003410        docker:dind           "dockerd-entrypoint.…"   27 hours ago        Up 56 minutes       2375-2376/tcp       


<追記> docker-compose.yml 文字数制限のためMySQL部分のみの表示です

version: '3'

networks:
  frontend:
    driver: ${NETWORKS_DRIVER}
  backend:
    driver: ${NETWORKS_DRIVER}

volumes:
  mysql:
    driver: ${VOLUMES_DRIVER}
  percona:
    driver: ${VOLUMES_DRIVER}
  mssql:
    driver: ${VOLUMES_DRIVER}
  postgres:
    driver: ${VOLUMES_DRIVER}
  memcached:
    driver: ${VOLUMES_DRIVER}
  redis:
    driver: ${VOLUMES_DRIVER}
  neo4j:
    driver: ${VOLUMES_DRIVER}
  mariadb:
    driver: ${VOLUMES_DRIVER}
  mongo:
    driver: ${VOLUMES_DRIVER}
  minio:
    driver: ${VOLUMES_DRIVER}
  rethinkdb:
    driver: ${VOLUMES_DRIVER}
  phpmyadmin:
    driver: ${VOLUMES_DRIVER}
  adminer:
    driver: ${VOLUMES_DRIVER}
  aerospike:
    driver: ${VOLUMES_DRIVER}
  caddy:
    driver: ${VOLUMES_DRIVER}
  elasticsearch:
    driver: ${VOLUMES_DRIVER}
  mosquitto:
    driver: ${VOLUMES_DRIVER}
  confluence:
    driver: ${VOLUMES_DRIVER}
  sonarqube:
    driver: ${VOLUMES_DRIVER}
  cassandra:
    driver: ${VOLUMES_DRIVER}

services:

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
        args:
          - MYSQL_VERSION=${MYSQL_VERSION}
      environment:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
        - TZ=${WORKSPACE_TIMEZONE}
      volumes:
        - ${DATA_PATH_HOST}/mysql:/var/lib/mysql
        - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
      ports:
        - "${MYSQL_PORT}:3306"
      networks:
        - backend


https://qiita.com/J_Shell/items/695a30fd38444d065ae5

こちらの記事でも試しましたが、
applicationsのvolumesの記載がなかったため変更ができず
何も触っていません。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • t_obara

    2019/11/11 19:52

    docker-compose.ymlも質問中にご提示いただいた方が、回答を得られやすくなると思います。

    キャンセル

  • muumuuland

    2019/11/11 22:49

    t_obaraさん
    アドバイスありがとうございます。
    追記しましたのでご参照いただけると幸いです。

    キャンセル

回答 2

+1

docker-compose logs mysql
でExitされる前の標準エラーが見れると思います。

私の経験的にはvar/lib/mysqlがぶっ壊れている時に正常起動せず、そのままExitされていたことがあります
(その場合はマウントしているdirを決して初期化)

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

Dockerのビルドキャッシュが残っていて、リビルドが適切に行われていないと推測します。

--no-cache オプションをつけてみてはいかがでしょうか。

$ docker-compose build --no-cache mysql

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/11/11 19:10

    kaztoさん
    御回答ありがとうございます。

    早速試させていただきましたが、やはりMySQLのみが表示されません。
    上記追加しています。

    キャンセル

  • 2019/11/11 19:59

    他にもご指摘ありますように、docker-compose.ymlの内容を追記お願いします。

    キャンセル

  • 2019/11/11 22:49

    追記しました。ご確認いただけると幸いです。

    キャンセル

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

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

関連した質問

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