🐳

専門用語なしでDocker入門!!

2024/11/11に公開
1

Dockerとは

【イメージ】
自分のパソコンとは別にパソコンを新しく作ることができる感じ



Dockerで使用するファイルの名前

  • Dockerfile
    → このファイル自体がパソコン本体みたいな感じ
    ※この記事ではDockerのパソコンみたいな言い方をします
  • docker-compose.yml
    → パソコンの管理者みたいな感じ
    ※この記事ではパソコンの管理者みたいな言い方をします

Dockerfileの構造

コマンド ... 
コマンド ...
コマンド ...
コマンド ...

docker-compose.ymlの構造

services:
  pc名: #(Dockerfileに名前をつけれる感じ)
    パソコンの設定
    パソコンの設定
    パソコンの設定
  pc名:
    パソコンの設定
    パソコンの設定
    パソコンの設定

このように一つの管理者(docker-compse.yml)に複数のパソコンを紐付けることができる



Dockerfile

FROM

→ なんの言語を使用するかという感じ

FROM 言語:バージョン

# 例
FROM node:22.5
FROM python:3.11
FROM php:8.3

WORKDIR

→ cdみたいなイメージ
※ ディレクトリが存在しなくても勝手に作ってくれる

WORKDIR Dockerのパソコンの移動したいパス(絶対パス)

# 例
WORKDIR /workdir
WORKDIR /app
WORKDIR /workdir/front

# メモ
# 絶対パスなのを忘れないで!!

COPY

→ 自分のパソコンからファイルやディレクトリをコピーできる

COPY 自分のパソコンのパス Dockerのパソコンのパス

# 例
COPY . .
COPY . ./app
COPY ./app ./app

RUN

→ Dockerのパソコンで実行したいコマンドを設定できる

RUN 実行したいコマンド

# 例
RUN npm install
RUN composer install

CMD

→ アプリ起動時に実行したいコマンドを設定できる

CMD アプリ起動時に実行したいコマンド(配列型式)

# 例
CMD ["npm", "run", "dev"]
# npm run dev
CMD ["php", "artisan", "serve", "--host", "0.0.0.0"]
# php artisan serve --host 0.0.0.0

EXPOSE

→ アプリのポートを解放する(Next.jsはデフォルトで3000番)

EXPOSE 解放するポート番号

# 例
EXPOSE 3000
EXPOSE 5000
EXPOSE 8000




docker-compose.yml

build

→ どのパソコン(Dockerfile)を使うかを設定する

build: Dockerfileのパス(**直前のディレクトリまで**)

# 例
build: ./
build: ./app
build: ./app/docker

volumes

→ 自分のパソコンとDockerのパソコンの状態を同期できる
※ Dockerのパソコン内でした操作が自分のパソコンに反映される(逆も然り)
※ 今回はDockerのパソコンでNext.jsのディレクトリを作って自分のパソコンに反映させる!!

volumes:
  - 自分のパソコンのパス:Dockerのパソコンのパス(絶対パス)

# 例
volumes:
  - .:/workdir
volumes:
  - ./app:/app
volumes:
  - .:/workdir/front

# メモ
# Docker側は、絶対パスなのを忘れないで!!

ports

→ 自分のパソコンのポートとDockerのポートを繋ぐ

ports:
  - 自分のパソコンのポート:Dockerfileのパソコンのポート

# 例
ports:
  - 3000:3000
ports:
  - 8000:8000
ports:
  - 5001:5000




コマンド

※ docker-compose.ymlがある位置で実行してください

docker compose build

→ Dockerのパソコンを作るコマンド

docker compose build

docker compose run パソコン名 bash

→ Dockerのパソコンに移動するコマンド
※ Ctrl + Dで自分のパソコンに戻れます

docker compose run next-pc bash

docker compose up -d

→ アプリケーションの起動するコマンド

docker compose up -d

docker compose logs

→ Dockerのパソコンのログが見れる
※ エラーを確認するのに使う
※ upが成功しなかった時によく使う!!

docker compose logs




まとめ

Dockerfile

  • FROM
  • WORKDIR
  • COPY
  • RUN
  • CMD
  • EXPOSE

docker-compose.yml

  • build
  • volumes
  • ports

コマンド

  • docker compose build
  • docker compose run パソコン名 bash
  • docker compose up -d
  • docker compose logs
1

Discussion