Dockerfile を使用してコンテナに Mkdir コマンドでディレクトリを作成する
Docker コンテナーは、さまざまな環境でソフトウェアと依存関係を管理するための事実上の方法になりました。 実際のアプリケーションを操作する場合、アプリケーション コンテナー イメージをビルドする前に、Dockerfile を作成する必要があることは間違いありません。
Dockerfile を使用してコンテナに mkdir
コマンドでディレクトリを作成する
開発者が Docker イメージを作成するために必要なコマンドを組み立てることができるようにするだけでなく、Dockerfile でできることは他にもたくさんあります。 Dockerfile を使用して Docker イメージを正常に作成するには、いくつかの基本的なコマンドを知っている必要があります。
最もよく使用されるコマンドには次のものがあります。
FROM
- 使用される親イメージ/ベース イメージのレイヤーを作成します。WORKDIR
- 作業ディレクトリを設定できます。COPY
- 現在のディレクトリの内容をコンテナ内のディレクトリにコピーできます。PULL
- Docker リポジトリからファイルを追加します。RUN
- イメージをビルドするときに実行するコマンド。CMD
- コンテナの起動時に実行するコマンドを指定します。ENV
- ビルド中に使用される環境変数を定義します。ENTRYPOINT
- コンテナの起動時に実行するコマンドを指定します。MAINTAINER
- 画像の作者を指定します。
上記のコマンドを使用して、Python をベース イメージとして使用する以下のような Dockerfile を作成できます。
コード:
# base image
FROM Python
# Set your working directory
WORKDIR /var/www/
# Copy the necessary files
COPY ./app.py /var/www/app.py
COPY ./requirements.txt /var/www/requirements.txt
# Install the necessary packages
RUN pip install -r /var/www/requirements.txt
# Run the app
CMD ["echo", "Hello, Developer"]
この Dockerfile は、コンソールにメッセージを出力するだけの単純な Flask アプリケーションの一部です。 同じアプリケーションの作成に興味がある場合は、ここに requirements.txt
ファイルがあります。
click==8.0.4
Flask==2.0.3
gunicorn==20.1.0
itsdangerous==2.1.0
Jinja2==3.0.3
MarkupSafe==2.1.0
Werkzeug==2.0.3
そのメイン アプリケーション ファイルを含むメイン ファイル app.py
を以下に示します。
コード:
from flask import Flask
app = Flask(__name__)
def hello():
print("Hello, this is a simple Flask application")
hello()
ここで、Docker コンテナーのファイル システム内に mkdir
コマンドを使用してディレクトリを作成するには、以下に示すように RUN
コマンドを使用します。
# base image
FROM Python
# Set your working directory
WORKDIR /var/www/
# Copy the necessary files
COPY ./app.py /var/www/app.py
COPY ./requirements.txt /var/www/requirements.txt
# Install the necessary packages
RUN pip install -r /var/www/requirements.txt
RUN mkdir -p /var/www/new_directory
# Run the app
CMD ["echo", "Hello, Developer"]
コマンド RUN mkdir -p /var/www/new_directory
を使用すると、Docker ファイル システム内に new_directory
という名前のディレクトリを作成できます。このディレクトリは、上記の Docker ファイルを使用してビルドされたイメージを使用して最終的にビルドします。
ただし、以下のコマンドを実行して、基本イメージとして Python に基づく Docker イメージを構築することから始めます。
isaac@DESKTOP-HV44HT6:~/my-app$ docker build -t new_image .
出力:
以下の docker images
コマンドを使用して、Docker ファイルから Docker イメージが正常に作成されたことを確認します。
$ docker images
出力:
REPOSITORY TAG IMAGE ID CREATED SIZE
new_image latest 7ab964c50876 13 minutes ago 932MB
Docker イメージが配置されたので、先に進んで Docker コンテナを作成し、new_directory
という名前のディレクトリが作成されたかどうかを確認できます。 以下に示すように、コンテナ内で Bash
を起動して、Docker コンテナ内のディレクトリをナビゲートする必要があります。
$ docker run -it new_image bash
root@ea42f35d5404:/var/www#
このディレクトリ内のファイルを一覧表示すると、new_directory
が作成されていることがわかります。 これに加えて、ディレクトリ自体をナビゲートしたり、その中に新しいファイルを作成したりすることもできます。
root@ea42f35d5404:/var/www# ls
app.py new_directory requirements.txt
root@ea42f35d5404:/var/www# cd new_directory
root@ea42f35d5404:/var/www/new_directory# ls
root@ea42f35d5404:/var/www/new_directory# touch new_file
root@ea42f35d5404:/var/www/new_directory# ls
new_file
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn