GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker コンテナの実行時に /etc/hosts に新しいホスト エントリを追加する方法

この投稿では、実行時に docker コンテナーの /etc/hosts にホスト エントリを追加する方法を示します。この記事では、CentOS/RHEL 7 ホストを使用しています。ただし、これは最新の docker バージョンを実行できるすべての Linux ホストで動作するはずです。

一般的に言えば、docker コンテナーを実行する前に /etc/hosts ファイルを変更することはできません。ただし、現在の Docker には「–add-host」というオプションがあります。 コンテナの実行時に /etc/hosts にホスト エントリを追加します。以下は、新しい docker コンテナーの作成中にホスト エントリを追加するための構文です。

$ sudo docker run --add-host [Hostname]:[IPAddress] -ti [Source_Container_Image] /bin/bash

たとえば、新しいホスト エントリ (192.168.0.1 host2.test.com) を追加するには、次のコマンドを使用します:

$ sudo docker run --add-host host1.test.com:192.168.0.1 --add-host host2.test.com:192.168.0.2 -ti source_container_image /bin/bash

この例では、次のような host1.test.com と host2.test.com を持つ新しいコンテナーに /etc/hosts を取り込みます:

[root@63933bfcd3d3 /]# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.0.1 host1.test.com
192.168.0.2 host2.test.com
172.17.0.4 63933bfcd3d3

[root@63933bfcd3d3 /]#


Docker
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Dockerコンテナ内でプログラムを実行する方法は?

  3. DockerコンテナでMySQLを実行する方法

  1. DockerコンテナでMySQLを実行する方法:シンプルでわかりやすいガイド

  2. ホストから Docker コンテナのネットワーク名前空間にアクセスする方法

  3. ユーザーを Docker コンテナに追加するにはどうすればよいですか?

  1. / etc / motdはどのように更新されますか?

  2. ホストディレクトリをDockerコンテナにマウントする方法

  3. 実行中のDockerコンテナでコマンドを実行する方法