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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Docker

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

Q&A

解決済

1回答

1244閲覧

Docker環境でCodeIgniterのデータベース接続ができない

退会済みユーザー

退会済みユーザー

総合スコア0

docker-compose

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Docker

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

0グッド

0クリップ

投稿2019/08/17 04:46

Docker環境でCodeIgniterのデータベース接続ができない

docker初心者です。
docker-composeで作成したコンテナでCodeIgniterを使いたいのですが、次のようにエラーが出てしまいます。
イメージ説明
調べると、データベースに接続ができていないようです。

hostnameをコンテナ名にする等、試しましたが、うまくいかず、、
分かる方、ご教示いただければと思います。

以下、コードです。

database.php

php

1$active_group = 'default'; 2$query_builder = TRUE; 3 4$db['default'] = array( 5 'dsn' => '', 6 'hostname' => 'ci_mysql', 7 'username' => 'root', 8 'password' => 'Password01', 9 'database' => 'ci_test', 10 'dbdriver' => 'mysqli', 11 'dbprefix' => '', 12 'pconnect' => FALSE, 13 'db_debug' => (ENVIRONMENT !== 'production'), 14 'cache_on' => FALSE, 15 'cachedir' => '', 16 'char_set' => 'utf8', 17 'dbcollat' => 'utf8mb4_general_ci', 18 'swap_pre' => '', 19 'encrypt' => FALSE, 20 'compress' => FALSE, 21 'stricton' => FALSE, 22 'failover' => array(), 23 'save_queries' => TRUE 24); 25

Dockerfile

dockerfile

1FROM php:7.2-apache 2 3RUN docker-php-ext-install pdo_mysql

docker-compose.yml

yml

1version: '2' 2 3services: 4 ci_mysql: 5 image: 'mysql:5.7' 6 volumes: 7 - './mysql:/var/lib/mysql' 8 environment: 9 - MYSQL_ROOT_PASSWORD=Password01 10 ci_phpmyadmin: 11 image: 'phpmyadmin/phpmyadmin' 12 environment: 13 - PMA_ARBITRARY=1 14 - PMA_HOST=ci_mysql 15 - PMA_USER=root 16 - PMA_PASSWORD=Password01 17 links: 18 - ci_mysql 19 ports: 20 - 8088:80 21 volumes: 22 - './phpmyadmin/sessions:/sessions' 23 ci_php: 24 # image: php:7.2-apache 25 build: 26 context: . 27 dockerfile: dockerfile 28 volumes: 29 - ./php.ini:/usr/local/etc/php/php.ini 30 - ./html:/var/www/html 31 depends_on: 32 - ci_mysql 33 ports: 34 - 8089:80 35

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

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

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

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

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

guest

回答1

0

ベストアンサー

mysqliがないように見えます。
docker-php-ext-installでインストールすると良いのではないでしょうか。

投稿2019/08/17 05:17

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2019/08/17 13:58

dockerfileに以下のように記述しましたが、状況は変わりませんでした。。 FROM php:7.2-apache RUN docker-php-ext-install pdo_mysql mysqli
退会済みユーザー

退会済みユーザー

2019/08/17 14:41

ビルドはやり直しましたか?
退会済みユーザー

退会済みユーザー

2019/08/17 15:02

はい、docker-compose downの後にdocker-compose up -dを実行しました。
退会済みユーザー

退会済みユーザー

2019/08/17 15:18

php_mysqliが有効になってない?と思い、 php.iniに以下のように書きましたが、 「Message: PHP Startup: Unable to load dynamic library 'php_mysqli.so' 〜」のエラーが出てしまいます。。 extension=php_mysqli.so
退会済みユーザー

退会済みユーザー

2019/08/17 15:37

down upではビルドされませんよ。 キャッシュがあるからです。 docker-compose build --no-cache でビルドをやり直して下さい。
退会済みユーザー

退会済みユーザー

2019/08/17 15:55

down upだとビルドされないんですね。。 基本がなってなかったです(^^;) 無事解決できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問