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

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

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

YouTubeも見てね♪

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/04/03 21:42:08時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/04/03 21:42:08時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/04/03 21:42:16時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/04/03 21:33:15時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/04/03 21:42:09時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/04/03 21:42:18時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

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を作成するように心がけてみましょう。

CATEGORIES & TAGS

IT