ホームページ >運用・保守 >Docker >Docker コンテナ内の txt ファイルを変更する方法について説明します。

Docker コンテナ内の txt ファイルを変更する方法について説明します。

PHPz
PHPzオリジナル
2023-04-18 10:24:18908ブラウズ

Docker は、開発者がアプリケーションをより便利かつ効率的に開発、デプロイ、実行できるようにする一般的なコンテナ化テクノロジです。 Docker では、Dockerfile を使用して、イメージ、環境変数、マウント ポイントなど、コンテナーのさまざまなプロパティを定義できます。この記事では、Docker コンテナー内の txt ファイルを変更する方法を説明します。具体的には、次の質問に対処します:

  1. Dockerfile でマウント ポイントを定義して、コンテナーに txt ファイルを保存するにはどうすればよいですか?
  2. Docker コンテナーで txt ファイルを編集するにはどうすればよいですか?
  3. 編集した txt ファイルを Docker コンテナに保存し、次回コンテナを起動したときに自動的にロードするにはどうすればよいですか?

マウント ポイントを定義する

まず、Dockerfile でマウント ポイントを定義する必要があります。これは、Dockerfile の VOLUME ディレクティブを使用して行うことができます。例:

FROM ubuntu
VOLUME /data

ここでは、Ubuntu イメージから開始し、VOLUME ディレクティブを使用して /data という名前のマウント ポイントを定義します。 Docker コンテナが起動すると、Docker エンジンは /data ディレクトリを作成し、それをコンテナにマウントします。

txt ファイルの編集

マウント ポイントを取得したら、コンテナに txt ファイルを追加、編集、保存できます。 docker exec コマンドを使用して実行中のコンテナに入り、vi エディタを使用して txt ファイルを編集できます。例:

docker exec -it my_container vi /data/my_file.txt

ここで、my_container はコンテナ名、/data/my_file.txt は作成するテキストです。ファイルパスを編集したい。 vi エディターでは、ファイルの内容を編集し、保存して終了できます。

変更の保存

ファイルの編集と保存が完了したら、変更を保存し、次回 Docker コンテナを起動するときに、変更されたファイルを自動的にロードする必要があります。これを行うには、 docker cp コマンドを使用して、変更されたファイルをコンテナーから Docker ホストにコピーします。

docker cp my_container:/data/my_file.txt /host/path/my_file.txt

ここでは、 docker cp コマンドを使用して、/data/my_file.txt ファイルをコピーします。 my_container コンテナをホストの /host/path/my_file.txt パスに追加します。これで、変更されたファイルが Docker コンテナから Docker ホストに保存されました。

コンテナが次回起動するときに変更されたファイルを自動的にロードするようにするには、docker run コマンドを使用してホスト パスをマウント ポイントにマウントするときに -v オプションを使用する必要があります。コンテナー、例:

docker run -v /host/path:/data my_image

ここで、my_image は開始する Docker イメージであり、-v オプションはホスト パス /host/path をコンテナー内の /data マウント ポイントにマウントします。これで、コンテナーが起動すると、/host/path/my_file.txt が /data/my_file.txt に自動的にロードされ、コンテナー内で行ったすべての変更はホスト上の my_file.txt に保存されます。

結論

Docker コンテナのマウント ポイントと docker cp コマンドを使用すると、Docker コンテナに txt ファイルを簡単に追加、編集、保存し、確実に使用できるようになります。次回コンテナが起動されると、自動的にロードされます。これにより、Docker コンテナーでのファイル編集がより便利かつ効率的になり、開発とデプロイの効率が向上します。

以上がDocker コンテナ内の txt ファイルを変更する方法について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。