素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

投稿日: 2018年1月22日
最終更新日:

Dockerfileに設定を記述して実行する方法

YouTube

スポンサーリンク

336×280




Dockerfileとは?

以前、コチラの記事にて、Docker For Macをインストールし、コマンド実行でHello worldを表示して見ました。

ただ、シンプルな実行内容のためコマンド引数で実行できたものの、もっと複雑な処理を実行した場合はコマンド引数では限界があります。

そんな時は、Dockrfileを作成してみましょう。

メリット

・Dockerfileは複雑なDockerの実行命令をファイル管理可能
→ 設定ファイルとして管理することにより、可読性が上がりファイルを渡すことで他のPC環境でも同じ処理が簡単に実行出来ます。

・image管理
→ コマンド実行だと毎回同じようなコマンドを叩く必要があるが、Dockerfileを作ってビルドすることでimageと呼ばれるデータを作ることが出来ます。
また、一度このimageファイルを作れば毎回ビルドする必要はなくimageファイルを実行することで同じ動きを行うことが可能です。

手順

Dockerfileの作成

まずはDockerfileを作成してみましょう。

以下のDockerfileファイルを作成してください。

imageファイルの作成

Dockerfileからイメージファイルを作成するには以下のコマンドを実行します。


-tオプションは作成するimageファイルにタグ(名前)をつけたい場合に指定します。
今回は分かりやすくするためにhello_worldという名前をつけました。
ちなみに、
・RUN -> ビルド時に実行されるコマンド
・CMD → イメージ実行時に起動されるコマンド
です。

実行後に以下のコマンドでimages一覧を表示してみましょう。



正常にhello_worldというimageが作成されていますね。

imageファイルの実行

以下のコマンドで作成したimageファイルを作成してみましょう。


正常に実行されました。

dockerコンテナ

imageファイルを実行するとコンテナというものが作成されます。
以下のコマンドで確認出来ます。



-aオプション停止しているコンテナも含め表示します。
※先ほど作成したhello_worldイメージは実行後にすぐに停止します
dockerはイメージとコンテナの関係性の理解が大切です。

コンテナの削除

一度コンテナが作成されると基本的には残り続けます。
不要なコンテナを削除して見ましょう。

先ほどのコマンドでCONTAINER IDが表示されていましたが、削除する場合はこのCONTAINER IDを指定することで削除が可能です。


これでコンテナの削除が完了です。

イメージの削除

次にイメージを削除してみましょう。
気をつけないといけないのは、イメージを削除する場合は、先にイメージから作成したコンテナを削除しないと、
Error response from daemon: conflict: unable to delete {削除したいIMAGE ID} (must be forced) – image is being used by stopped container {利用しているCONTAINER ID}
が発生して、削除出来ないので気をつけましょう。

以下のコマンドでイメージを削除することが可能です。


これでイメージの削除も完了です。

オススメの参考書

あとがき

今回はDockerfileの中身がとても少ないサンプルで紹介しましたが、システム開発でDockerfileを使う場合はものすごく複雑な記述になるので、Dockerfileの恩恵を受けることになります。

Dockerfileを使うデメリットはほとんどないので皆さんもDockerfileを作成するように心がけてみましょう。

336×280




336×280




CATEGORIES & TAGS

IT, , , , ,

blogenist

Author: blogenist

関連記事

YouTube

お名前.comサイドバー