「図解! Dockerのツボとコツがゼッタイにわかる本」の感想・備忘録

スポンサーリンク

点数

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コマンドに統合されdocker compose xxxとなった。

docker compose upは以下の1〜3を実行する。

  1. docker compose build
    Dockerfileからイメージのビルド。
  2. docker compose create
    Docker Hubからイメージのダウンロード、イメージからコンテナの作成。
  3. docker compose start
    コンテナの起動。

docker compose downは以下の1〜2を実行する

  1. docker compose stop
    コンテナの停止。
  2. 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となる。

コメント