herohoroブログ

composeを作成してdockerコンテナを導入する



🔄   2022-08-02

easy-notion-blogでもdockerを使ってみようと思い、1週間ほど勉強してみました。


概要
  • dockerをインストール
  • docker composeを用意
  • コンテナを作成
  • dockerを入れると素敵なこと

docker composeで記述するバージョンについて

公式リファレンスを参考に調べながら値を探ってみました。

簡単なソースコードでも意味を理解していないと

カスタマイズがキツくなるので1つ1つ丁寧に考えていきます\(^o^)/


dockerをインストール

公式リファレンスを元に進めていきます⭐

image block

https://docs.docker.jp/docker-for-mac/install.html#mac-docker-desktop

Docker Desktop for Macをインストール

image block

https://hub.docker.com/editions/community/docker-ce-desktop-mac/

※ Windowsの場合はこちら

https://docs.docker.jp/docker-for-windows/install.html

インストールが終わったら

Downloadsフォルダに入ってきた「Docker.dmg」をダブルクリック

image block

※ (1)となっているのは気になさらずm(_ _)m

Docker.appを「Applications」へドラッグ・アンド・ドロップ

image block

アプリケーションフォルダを開き、Docker.appをダブルクリック

image block

無事にDockerが出現!!

image block

Docker Desktopに含まれるもの
image block

今回使うDocker Composeも含まれている\(^o^)/

この後の流れ

  1. docker-composeを用意する
  2. ターミナルからコンテナを設置する

以上\(^o^)/

1、docker composeを用意
image block

見ればすぐ分かるコードの意味

image block

imageはDocker hubに用意されている

image block

https://hub.docker.com/_/node?tab=description

調べて分かるコードの意味
versionについて
image block

https://matsuand.github.io/docs.docker.jp.onthefly/compose/compose-file/

▼ 確認すべきこと

  • composeバージョン
  • composeファイルフォーマットバージョン

composeバージョンを確認
docker compose version

👀
【v2.2.3】と返ってきた

Compose ファイルフォーマットバージョンは、

「Compose仕様」に該当しているみたい。

▼ もう少し詳細に調べたい場合・・・・・

image block

https://matsuand.github.io/docs.docker.jp.onthefly/compose/release-notes/

▼ 最新composeをgithubのリリースノートからも確認できる

image block

https://github.com/docker/compose/releases

👀
私はどうやら最新版らしい・・・・(そりゃそうか。今入れたばっかだし)

Compose仕様の注意点

image block
小数点第1位以下の値(minor number)を省略すると0と解釈されて最新版でなくなる

Compose ファイルフォーマットバーションの値
image block

https://matsuand.github.io/docs.docker.jp.onthefly/compose/compose-file/#compose-and-docker-compatibility-matrix

composeファイルフォーマットバージョンは3.8

image block

ちなみにcomposeリリース履歴はここから確認できる

https://matsuand.github.io/docs.docker.jp.onthefly/compose/release-notes/

これでdocker-composeは完成\(^o^)/

古いcomposeファイルフォーマットバージョンの場合の確認方法

image block

https://matsuand.github.io/docs.docker.jp.onthefly/compose/compose-file/#compose-and-docker-compatibility-matrix

🤔
Docker Engineバージョンが分かればComposeファイルフォーマットも分かる!

そもそもdocker engineって何?

image block

https://docs.docker.jp/machine/overview.html#docker-engine-docker-machine

DockerのことらしいからDockerのバージョンを確認する。

docker -v

▼ docker engineリリース履歴はここから確認できる

image block

https://docs.docker.com/engine/release-notes/

完成したdocker-compose

docker-compose.ymlのソースコードはこんな感じになりました\(^o^)/

version: "3.8"
services:
  nodeapp:
    image: node:lts
    container_name: "nodeapp"
    tty: true
    working_dir: "/usr/src/app/"
    volumes:
      - ".:/usr/src/app"

2、composeを実行してdocker コンテナを作ろう!!!!

今、easy-notion-blogディレクトリ内にいるかを確認!!

pwd

位置を確認👉必要なら移動👉compose実行!!

docker-compose up

できた〜〜〜〜\(^o^)/

image block

実行したコンテナを確認

Docker Disktopから簡単に確認できます\(^o^)/

左サイドバーにカーソルを当てると【Containers/Apps】が出てくる

image block

クリックするとできたてほやほやのコンテナが出てくる

image block

dockerを入れると素敵なこと

実はdocker-compose.ymlで入れたnode imageにはyarnが標準装備されている。

image block

https://github.com/nodejs/docker-node/commit/a86d32ab9a687de2c68cdcc4aafcd9d27e96106a

easy-notion-blogを導入する時にインストールしたのは・・・

image block

Node.jsとyarn!!!

🤔
nodeのバージョンが12って指定されている・・・・

うまく動かないようならdocker-composeを修正して再起動させればいいかな( ゚∀゚)o彡°

docker-compose up

👆これだけ記述すればdocker-compose.ymlが起動し、

Nodeをインストールしつつyarnも入れてくれる。

動かなかったら捨てればいい

今回Nodeのバージョンが【12】とあったので

うまく動いてくれないかもしれない。

そしたらコンテナごとポイすればNodeもyarnも自動でポイできる。

今まで興味本位でインストールしてしまったものって

後から消していいのかなんなのかが分からず

放っておきがち。

コンテナの中に入れておけば必要かどうかの判断に悩むこともなくなる\(^o^)/

PC壊れても余裕で復旧できる

 

😮
これスゴイ!!!


1週間くらいいじり倒したけど

まだまだ勉強不足なdocker。

しばらく気になるimageやコンテナを作りながら

理解を深めていこうかな・・・・

といった1月でした(´・ω・`)

Twitterでは更新のお知らせを随時行っています

興味ある方はLet'sフォロー★

▼ この記事に興味があったら同じタグから関連記事をのぞいてみてね

新着記事を通知したい??


RSSリーダーにatomのリンクを登録すると通知が行くよ🐌

https://herohoro.com/atom

やってみてね(*´ω`*)(*´ω`*)

Twitter Timeline


フォロー大歓迎\(^o^)/