Dockerfile teardown

4583 ワード

それで、あなたのアプリは準備ができています、そして、現在、あなたはDockerを使ってそれをコンテナ化したいです.を返します.

Docker file is a file which contains all commands that are required to generate an image.


単純なdockerファイル



Dockerファイルの作成


プロジェクトディレクトリで、新しいファイルを作成します.

このファイルの中では、すべてのコマンドがリストされます.これらのコマンドは何かを見ることができます.

1から


FROM <image>:<tag>
Dockerfileはから始めなければなりません.基本的にベースイメージを設定します.


FROM node:13-alpine
バージョン13でノードのベースイメージを取得するように指示しました.

2 .ラベル


LABEL <key><value> <key2><value2>
イメージのメタデータを設定するために使用します.それは重要な価値観です


LABEL companyname="xyz organization"
companynameラベルを設定します.あなたはそれをDocker

実行


RUN <command>
新しいイメージ内でコマンドを実行し、結果をコミットします.


RUN mkdir -p /home/app
これは、イメージ内の新しいディレクトリを作成します

cmd


CMD [<command>,<command>]
コンテナの後に実行される最初のコマンドが作成されます.


CMD ["npm", "start"]
コンテナが作成されるとき、これはnpm startを実行します.

4 .露出


EXPOSE <port>
指定したネットワークポートでコンテナがリッスンすることをDockerに通知します.この情報は、リンクを使用してコンテナを相互接続し、ホストシステム上でポートリダイレクトを設定するために使用されます


EXPOSE 3000
これはコンテナの中のポートとホストマシンのポートを公開します.

env


ENV <key><value>
環境変数を値に設定します.これはすべて242479142 , RUN命令に渡されます


ENV MONGO_DB_USERNAME=admin
ここでは、MongoCenn . dCountユーザー名envは管理者に設定されます

6 .コピー


COPY <source> <destination>
ソースi . eからホストファイルをイメージにコピーします.すべての新しいファイル&ディレクトリは、モード0755で作成されます.


COPY ./package.json /home/app
ここでパッケージ.JSONファイルは現在のディレクトリから/home/appにコピーされます.

追加


ADD <source> <destination>
コピーと同じですが、若干の若干の変化.
  • Add命令は、DockerホストからのtarファイルをDockerイメージにコピーして、抽出することができます.


  • ADD unzipthis.tar /home/app
    
    これは指定したディレクトリにイメージ内のファイルを展開します.

    第8巻


    VOLUME <path> 
    
    Docker画像の中で永続性に使用されます.この指示はDockerイメージの中にディレクトリをつくることができます


    VOLUME /data 
    

    9 .ワーレル


    WORKDIR <path> 
    
    InstructionディレクトリーがDockerイメージ内にあるかどうかを指定します


    WORKDIR /home/app
    
    これは実行または他の命令が実行されるディレクトリになります.

    このdockerfileをもう一度読みましょう



    これがあなたのためにDockerfileをより簡単に書くことを望みます.