テスト環境とMQTT環境を作りたくてDocker環境を整理してます。
基本を色々と忘れているので、改めて整理
Sponsor Link
この説明でわかること
- Linux イメージの作り方
コンテナ等を使って最終的に、docker-compose までたどり着く予定です。
Docker の基本構造
以下の、イメージとコンテナがDockerの基本要素です。
- イメージ
- 動作環境の部品を保持し、動作する時に参照されます。Dockerfile から構築することができます。
イメージは、階層化することができます。 - コンテナ
- 上記イメージは、静的なものですが、それが動作する時にコンテナとなり、実行されます。
Docker で Linux の動くイメージを作る方法
Linux が動く環境を作るためには、そのためのイメージを作る必要があります。
イメージは、Dockerfile から構築することができますし、DockerHub に登録されている イメージをダウンロードして使うこともできます。
alpine linux のイメージを、DockerHubから取得する
# すでに、Docker はインストールされている前提です。
% docker pull alpine
上記のコマンドをコマンドラインで実行すると、イメージが取得されます。
% docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest a24bb4013296 4 weeks ago 5.57MB
“Docker image ls”というコマンドを使うと、Dockerが保持しているイメージを確認することができます。
alpine linux のイメージを自分で構築する
自分でカスタマイズしたくなると、Dockerfile から作りたくなります。記述方法は別として、以下の内容の Dockerfile を使って、イメージを作ることができます。
Dockerfile
FROM alpine:latest
コード
% cd <適当なディレクトリ> // 上記Dockerffileのあるディレクトリ % docker build . -f myalpine % docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest a24bb4013296 4 weeks ago 5.57MB myalpine latest a24bb4013296 4 weeks ago 5.57MB
Docker のイメージを実行する
イメージを指定してコマンド実行することができます。
コード
% docker container run myalpine ls bin dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
ここでは、ls コマンドを実行させていて、その結果が出力されます。
何か動き続けるコマンドを動作させると、終了条件に到達するまで終了しません。
いわゆるバックグラウンドで動作させるためには、”-d”オプションをつけて実行させる必要があります。
説明は以上です。
Sponsor Link