Docker Composeを使用する

DOCKERでCMDコマンドを仕込んでみる。 | 自分、ぼっちですが何か? (taki-lab.site)

Dockerは1アプリケーション1コンテナというのが基本的な使い方らしいです。

今回はPHP+DBという構成を構築してみたいと思います。

こういった複数をアプリ(コンテナ)をセットで扱いたい場合は、docker-composeを使用します。

プロジェクト構成

PHPはDockerファイルで、DBはDockerHubで用意されている物を使用します。

Dockerfile

FROM php:7.4-apache

RUN apt-get update && apt-get install -y \
    tzdata \
    libpq-dev \
    && rm -rf /var/lib/apt/lists/* \
    && docker-php-ext-install pdo_pgsql

ENV TZ=Asia/Tokyo

php.ini

[Date]
date.timezone = Asia/Tokyo

[mbstring]
mbstring.language = Japanese

sample1.php

<?php
print('ただいまの日時は、'.date("Y-m-d H:i:s").'です。<br>');

$dbname='postgres';
$host='ex11_db';
$dbuser='postgres';
$dbpass='postgres';

try {
    $dbh = new PDO("pgsql:dbname=$dbname;host=$host", $dbuser, $dbpass);
    print('正常に接続されました。<br>');

    print('sysid, ユーザー名<br>');

    $sql = 'SELECT * FROM pg_user';
    foreach ($dbh->query($sql) as $row) {
        print($row['usesysid'].', ');
        print($row['usename'].'<br>');
    }
} catch (PDOException $e) {
    print('エラー:'.$e->gwtMessage());
    exit();
}

?>

docker-compose.yml

version: '3.8'

services:
  db:
    image: postgres:13.1-alpine
    container_name: 'ex11_db'
    expose:
      - "5432"
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - HOGE=hoge

  web:
    image: ex11/web:1.0
    build: ./web
    container_name: 'ex11_web'
    ports:
      - 8080:80
    working_dir: '/var/www/html'
    volumes:
      - ./web/php.ini:/usr/local/etc/php/php.ini
      - type: bind
        source: ./web/src
        target: /var/www/html
    depends_on:
      - db
~/dockerenv/ex11$ docker-compose up
~/dockerenv/ex11$ docker-compose down --rmi all

経済ニュース(04/10)

【4月18日(火)当日限定!】楽天ポイントカードを提示して購入すると “もれなく” 楽天ポイント20%還元 ‼ 4月18日は、銀だこで超お得 ‼ – PR TIMES

なか卯、「親子丼を40円値下げ」戦略の超したたか – 東洋経済オンライン

データセンター、東京圏で急増 中国回避で「特需」 – 日本経済新聞

飛行機が見えるレストラン25周年 新整備場「ブルーコーナー」がリニューアル – Aviation Wire

35万キロ、2万回開閉、50度の灼熱……厳しいテストをクリアしたメルセデス「SLK」の偏執狂的開発のこだわりとは?(Auto Messe Web) | 自動車情報サイト【新車・中古車】 – carview! – carview!

日銀 黒田総裁 異次元緩和10年を検証~異次元緩和の効果と弊害は~【Bizスクエア】|TBS NEWS DIG – TBS NEWS DIG Powered by JNN

根岸線全線開通50周年 昔懐かしいホーロー駅名標を全12駅に掲出 – ヨコハマ経済新聞

中国人が旅行したい国は「日本」が1位に 「訪日の目的」は買い物が最多→「日本で買いたい物」2位は「菓子類」|まいどなニュース – 神戸新聞社

注文殺到!帽子型ヘルメットが大ヒット これからは「着るヘルメット」 努力義務化、おしゃれにかっこよく – 神戸新聞NEXT

新たに判明…日本一のハンバーガー王国は熊本市?一体なぜ?現地に行って調べてみた | TBS NEWS DIG – TBS NEWS DIG Powered by JNN

谷尾商会が扱うLIQUI MOLYの、お試し&使い切りサイズのエンジン添加剤「SHOOTER」シリーズ【名古屋モーターサイクルショー2023レポート】 – webオートバイ

イタリアがChatGPTを「即効で」禁止した理由。次に続く国は? – Lifehacker JAPAN

岸田首相、2カ月ぶりの休日 マッサージで心身リセット – 産経ニュース

SPINNS、他社ブランドのロゴ付き商品の販売で謝罪 「他社のブランド名であることを看過」(1/2 ページ) – ねとらぼ – ねとらぼ

決算剰余金拡大、増税延期を検討 防衛費増額財源で自民、財務難色 – goo.ne.jp

来週の相場で注目すべき3つのポイント:、米物価指標、国内小売決算、米銀決算 | 市況 – 株探ニュース – 株探ニュース

中部電力、三大都市圏で初の出力制御 需要大きい地域でなぜ? – 日本経済新聞

【4月8日付社説】サムスン電子の業績ショック、最後の砦が揺らいだら韓国経済はどうなるのか – 朝鮮日報

勉強に「本気で挑んだ人」だけが到達できる世界 – 東洋経済オンライン

【三菱 デリカミニ】街中でスタイリッシュ、アクティブトーンスタイル[詳細画像] – レスポンス

ITニュース(04/10)

コンテナの実行やセキュリティに特化した「システムの変更が不可能なLinuxディストリビューション」8選 – GIGAZINE(ギガジン)

れいわ・山本太郎代表「原発にすがるな」 電気料金の高騰分は「国が肩代わりを」 鹿児島市で演説 | 鹿児島のニュース – 南日本新聞

Pixel 7aのより詳細なスペック判明。これはあまりにも強過ぎてやばい – xPeria lEaker

A17のレイトレーシング対応間に合う?Snapdragon 8 Gen 3のGPUは – iPhone Mania

「スマートウォッチ」売れ筋ランキング&おすすめ3選 健康・運動管理にぴったりなコスパの良いモデルが人気【2023年4月版】 – Fav-Log by ITmedia – ITmedia

エーペックスレジェンズ:アーマー交換の練習ができる!ジョークを実現した『APEX ARMOR SWAP TRAINER』がSteamで本当に販売開始(120円) – EAA!! FPS News

CCコネクトでGalaxy S10+が26,600円セール開始!中古HDD”1GB1円”も – デイリーガジェット

iOS 16.4.1公開。セキュリティアップデートとSiriの問題修正 – Impress Watch

日本HPの新ゲーミングノートPCはクリエイターも満足の逸品! 新製品発表会レポート – 電撃オンライン

中国ではスマートテレビがいつからか不満が一杯 その理由は広告が表示されるから!? (1/2) – ASCII.jp

iPhoneの強みは「長く使える」こと:Mobile Weekly Top10 – ITmedia Mobile – ITmedia Mobile

2.5倍以上も性能が向上するって本当!?インテルArc A770新旧ドライバー比較 (1/6) – ASCII.jp

CでもC++でもなくプログラミング言語「Go」を使いたくなる“あの良さ”とは? – TechTargetジャパン

エーペックスレジェンズ:ALGS延期、 パッチ16.1でゲームが不安定になったため – EAA!! FPS News

ドコモ販売ランキング:iPhone 14が1位キープ、AndroidはAQUOSとXperiaが好調【3月27日~4月2日】 – ITmedia Mobile – ITmedia Mobile

天王星、輪くっきり NASAが画像公開 – 日本経済新聞

「スマホで買える太陽光発電所」業者が破産 出資者1万2000人「省庁が推してたのに…」 – 弁護士ドットコム

Apple Watch ブレイデッドソロループ”風”バンドを買ってみた【いつモノコト】 – Impress Watch

物価高でもGalaxyのハイエンドモデルが好調の理由 S23シリーズは“海外の成功事例”で攻める:石野純也のMobile Eye(1/3 ページ) – ITmedia Mobile – ITmedia Mobile

職場の同僚女性自宅に侵入疑い逮捕 “脱衣場にカメラ”相談|NHK 東海のニュース – nhk.or.jp