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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

3181閲覧

Laravel エラー SQLSTATE[HY000] [2002] php_network_getaddresses:

masateru2

総合スコア39

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2018/07/20 11:25

編集2018/07/23 01:14

####環境 

  • Laravel5.6
  • php7.1
  • mysql5.7

現在Dockerで環境を構築し、ログイン画面を作っていたのですが、アドレスとPWはあっているのですが、ログインをしようとすると以下のエラー文が出てしまいます。

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known (SQL: select * from `users` where `email` = youyou@youyou.co.jp limit 1)

叩いた seeder

php

1 2<?php 3 4use Illuminate\Database\Seeder; 5use App\User; 6 7 8class UserTableSeeder extends Seeder 9{ 10 /** 11 * Run the database seeds. 12 * 13 * @return void 14 */ 15 public function run() 16 { 17 $user = new User(); 18 $user->name = 'admin'; 19 $user->email = 'youyou@youyou.co.jp'; 20 $user->password = bcrypt('you42'); 21 $user->save(); 22 } 23}

mysql内のテーブル
パスワードはbcryptで暗号化

sql

1mysql> select * from users 2+----+-------+-------------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+ 3| id | name | email | password | remember_token | created_at | updated_at | 4+----+-------+-------------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+ 5| 2 | admin | youyou@youyou.co.jp | $2y$10$vrbkT1/qXbLCGTEz/96IYO9hM1Xijle7vMuIFAUD6fqDkJl5wP0Ny | NULL | 2018-07-20 19:56:38 | 2018-07-20 19:56:38 | 6+----+-------+-------------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+ 7

こちらがmysqlの環境構築に使ったファイルです。
名前はmysqlで作っています。

# docker-compose.yml(mysql) version: '3' services: mysql: image: mysql:5.7 container_name: mysql5.7 ports: - 3306:3306 environment: - "MYSQL_ALLOW_EMPTY_PASSWORD=yes" restart: always phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin environment: - PMA_HOST=mysql - PMA_PORT=3306 - PMA_USER=root ports: - 8081:80 networks: default: external: name: common_link

Laravelの.env
こちらのDB_HOSTをdocker-compose.ymlのmysqlの名前に設定

APP_NAME=Laravel APP_ENV=local APP_KEY=C0PKuch0a0W2z9kKLufQZJ8VQ= APP_DEBUG=true APP_URL=http://cms.local.jp LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=cms DB_USERNAME=root DB_PASSWORD= BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file SESSION_LIFETIME=120 QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

Laravelプロジェクトの入っているコンテナのDcokerfileとdocker-compose.yml

version: '3' services: web: build: context: "./" dockerfile: ./Dockerfile container_name: "cms" command: "/sbin/init" volumes: - ./html:/var/www/html - ./nginx/conf.d:/etc/nginx/conf.d/ - ./php/php.ini:/etc/php.ini - ./php-fpm/www.conf:/etc/php-fpm.d/www.conf - ./supervisor/supervisord.conf:/etc/supervisord.conf - /Users/user/dev/cms:/var/www/ ports: - 90:80 environment: - VIRTUAL_HOST=cms.local.jp tty: true networks: default: external: name: common_link
FROM amazonlinux:1 RUN rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi &&\ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && \ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm RUN yum update -y RUN yum install -y \ initscripts \ sudo \ git \ zip \ unzip \ nginx --skip-broken \ httpd \ wget \ less \ libxslt \ automake \ autoconf \ mysql \ libmcrypt \ libtool-ltdl \ gcc gcc-c++ # TODO: supervisorのインストール # コンテナの構築後に supervisord コマンドを実行してプロセスを起動させる # RUN yum install -y python27-setuptools.noarch &&\ # easy_install pip &&\ # pip install supervisor --install-option="--install-scripts=/usr/bin" RUN yum install -y --disablerepo=amzn-main,amzn-updates --enablerepo=remi,remi-php71 \ php php-devel php-common php-mbstring php-pdo php-xml php-fpm php-mysql php-soap php-mcrypt RUN touch /etc/sysconfig/network RUN useradd docker RUN service nginx start &&\ service php-fpm start &&\ service iptables stop RUN chkconfig nginx on &&\ chkconfig php-fpm on &&\ chkconfig iptables off RUN chown -R root:nginx /var/log/nginx RUN chmod -R 770 /var/log/nginx/ CMD ["nginx", "-g", "daemon off;"]

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/07/20 11:57

LaravelはDocker上でなくホストOS上で動かしているのでしょうか?
masateru2

2018/07/23 01:08

いえ、laravelはamazonLinuxのコンテナを立ててその中でプロジェクトを作って操作しています。
退会済みユーザー

退会済みユーザー

2018/07/23 01:10

そうなんですね。 docker-compose.yml にLaravelのコンテナが含まれていないのはなぜでしょうか?
masateru2

2018/07/23 01:11

すみませんそちらの docker-compose.yml も修正で貼ります
退会済みユーザー

退会済みユーザー

2018/07/23 02:10

特に理由がなければ、docker-compose.ymlは一つにまとめた方がコンテナ間の接続設定は簡単です。
guest

回答1

0

ベストアンサー

mysqlに繋がってなさそうですね
webサーバ側から
dockerのmysqlに接続できますか

mysql -h ホスト名 -uユーザ名 -p

投稿2018/07/21 11:43

yryuu

総合スコア151

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

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

masateru2

2018/07/23 01:09

dockerのmysqlに接続できますか mysql -h ホスト名 -uユーザ名 -p 確認したところログインすることができました
yryuu

2018/07/23 07:38

そこで入力した情報 ホスト名とユーザ名とパスワードは以下の情報と一致しているでしょうか DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=cms DB_USERNAME=root DB_PASSWORD=
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問