[Docker] いまさら Docker の整理(Step1 : イメージの作り方と実行方法)

テスト環境とMQTT環境を作りたくてDocker環境を整理してます。

基本を色々と忘れているので、改めて整理

この説明でわかること

  • 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"オプションをつけて実行させる必要があります。

説明は以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です