点数
84点
感想
初心者向けだが、とてもわかりやすい内容だった。
基本的な使い方だけであれば、本書の内容で十分だと思う。
以下の説明は間違っていると思われる。
132ページ
docker compose buildでイメージ構築 or Docker Hubから持ってくる。
正しくは「ec2-userユーザーのセカンダリグループにdockerを追加」では?
212ページ
docker compose buildでイメージ構築 or Docker Hubから持ってくる。
Docker Hubからイメージを取得するのはdocker compose createでは?
WindowsやMacでDockerが動く仕組み
- Dockerを動かすためには、Docker EngineというLinux用のソフトウェアが必要である。
- WindowsではHyper-V、MacではHyperKitという仮想化ソフトを使ってLinux実行環境を作り、その上でDocker Engineを動かしている。
HyperKitはDocker Desktop fot Macに含まれている。 - Dockerコンテナ内のソフトウェアの命令は、一旦コンテナ内のLinux OSに渡され、そこからハードウェア本体(仮想化環境)のLinuxに伝えられることでハードウェアが命令を実行できるようになる。
コンテナのLinux⇒ホストのLinux⇒ハードウェア
docker-composeコマンドは非推奨
- docker-composeコマンドは非推奨となり、dockerコマンドに統合されdocker compose xxxとなった。
docker composeコマンドの使い方
docker compose upは以下の1〜3を実行する。
- docker compose build
Dockerfileからイメージのビルド。 - docker compose create
Docker Hubからイメージのダウンロード、イメージからコンテナの作成。 - docker compose start
コンテナの起動。
docker compose downは以下の1〜2を実行する
- docker compose stop
コンテナの停止。 - docker compose rm
コンテナの削除。
DockerfileのRUN命令
- イメージに変更を加える場合はRUN命令を使う。
FROM php:7.3-apache
RUN docker-php-ext-install pdo_mysql
ホスト名はdocker-compose.ymlのサービス名で指定する
version: "3"
services:
mydb:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: hoge
TZ: Asia/Tokyo
user: "1000:1000"
myphp:
build: .
ports:
- "80:80"
volumes:
- ./htdocs:/var/www/html
FROM php:7.3-apache
RUN docker-php-ext-install pdo_mysql
<?php $con = new PDO('mysql:host=mydb', 'root', 'hoge')?>
上記の場合、myphpコンテナからMySQLへ接続する際のホスト名はmydbとなる。