dockerコンテナの再起動後に/etc内の一部の設定ファイルがリセットされる問題を解決します

dockerコンテナの再起動後に/etc内の一部の設定ファイルがリセットされる問題を解決します

1.

コンテナ内の /etc/hosts、/etc/resolv.conf、/etc/hostname の 3 つのファイルはイメージ内に存在せず、/var/lib/docker/containers/ 内に存在します。コンテナを起動すると、これらのファイルは mount の形式でコンテナ内にマウントされます。

したがって、コンテナ内でこれらのファイルが変更された場合、変更された部分はコンテナの最上位層には存在せず、これら 3 つの物理ファイルに直接書き込まれます。

2. 再起動後に変更したコンテンツが消えてしまうのはなぜですか?

その理由は、Docker がコンテナを起動するたびに、新しい /etc/hosts ファイルが再構築されるからです。なぜでしょうか?

理由は、コンテナが再起動され、IP アドレスが変更され、hosts ファイル内の元の IP アドレスが無効になるためです。したがって、hosts ファイルを変更する必要があります。そうしないと、ダーティ データが生成されます。

3. 何か良い解決策はありますか?

docker run コマンドの --add-host パラメータを使用して、コンテナのホストと IP 間のマッピングを追加できます。

補足:Dockerコンテナで再起動設定が反映されない問題を解決する(ソース/etc/profile)

問題の説明:

Docker を使用する場合、コンテナ インスタンス内の /etc/profile などの設定ファイルをカスタマイズする必要がある場合があります。ただし、変更後は、コンテナを起動するたびに手動でソースを指定して再度有効にする必要があり、非常に面倒です。

解決:

コンテナ インスタンスで、~/.bashrc 構成ファイルの末尾に source /etc/profile を追加し、ファイルを保存して終了します。これにより、再起動後に手動操作なしで構成ファイルが自動的に更新されるようになります。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Dockerコンテナの起動失敗を解決する方法
  • Dockerスペースがいっぱいでコンテナに入れない場合の解決策
  • Docker コンテナのマウントディレクトリ操作の表示
  • docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。

<<:  ウェブページ作成の基本宣言文書型記述(DTD

>>:  jQuery キャンバスで画像検証コード例を描画する

推薦する

特定の部門 ID に基づいて、すべての下位レベルの複数レベルのサブ部門を照会する MySQL の例

シミュレーションテーブルとデータスクリプト次の SQL ステートメントをコピーして、sys_dept...

Linux で Sudo を使用して権限を委譲する

sudo 権限委譲の概要su スイッチ ID: su –l ユーザー名 –c 'コマンド&#...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...

HTML文書におけるol要素の数値制限に関する議論

一般的に言えば、HTML ドキュメント内で極端に大きな <ol> リストに遭遇する可能性...

MySQL 8.0.12 の詳細なインストールおよびアンインストール チュートリアル

1. MySQL 8.0.12 バージョンのインストール手順。 1. ダウンロードhttps://d...

APP (IOS、Android) を呼び出すモバイル H5 の記述例

iOS 1. URLスキームこのソリューションは基本的に、WeChat、QQ 組み込みブラウザ、QQ...

Linux の grep コマンドと egrep コマンドの詳細な説明

反復/egrep構文: grep [-cinvABC] 'word' ファイル名-c...

Vue2.x の応答性の簡単な説明と例

1. Vue レスポンシブの使用法を確認する​ Vue の応答性は、私たち全員がよく知っています。 ...

ネイティブ JS でスネーク ゲームを書く

この記事では、参考までに、JSでスネークゲームを書くための具体的なコードを紹介します。具体的な内容は...

MySQL 結合テーブルクエリの基本操作 左結合のよくある落とし穴

概要中小規模のプロジェクトでは、特にレポートを作成するときに、結合テーブル クエリが非常に一般的な操...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...

nginxプロセスロックの実装の詳細な説明

目次1. nginxプロセスロックの役割2. エントリーレベルのロックの使用3. nginxプロセス...

初心者のためのウェブサイト構築入門 - ウェブサイト構築に必要な条件とツール

今日は、初心者の次のような質問に答えます。学ぶ勇気さえあれば、自分のウェブサイトを構築するのは簡単で...

JavaScript の遅延読み込み属性パターンに関する簡単な説明

目次1. はじめに2. オンデマンド属性モード3. 乱雑な遅延読み込み属性パターン4. クラスの唯一...

Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

この記事では、Linux のユーザーおよびグループのコマンドについて例を挙げて説明します。ご参考まで...