ホストドッカーコンテナを変更する方法

参考記事:ドッカーは、ホストを変更

なぜ推奨されていないホストは、ドッカーコンテナ内で直接ファイルを変更?

/ etc /ホスト名、ホスト上の存在の/ var / libに/ドッキングウィンドウ/コンテナ/ディレクトリ(docker_id)、コンテナ実際のホストでミラーにドッカーファイル保存されていない、の/ etc / hosts、/etc/resolv.confのあなたは、コンテナの内部にこれらのファイルをマウントすることにより、マウントを開始したとき。コンテナ内のこれらのファイルを変更した場合、一部を変更することは、コンテナのトップ層に存在するが、直接、三つのファイルに書かれていません。ドッカー新しいコンテナを作成するたびに、それが現在のdocker0内のすべてのノードのIP情報に基づいて、hostsファイルを再確立するとき、再起動した後、容器の内容を変更する理由はありません。言い換えれば、あなたの変更が自動的に上書きするドッカーとなります。

どのように効率的にドッカーコンテナにホストを設定するには?

あなたは、コンテナを起動すると、パラメータを追加

オープンコンテナのパラメータ-add-ホストマシンを追加:IPホストの変更を達成することができます

docker run -it --name alpine-test1 --add-host=test.baidu.com:192.168.1.37 docker.io/alpine

DockerFileを変更

RUN mkdir /data
COPY run.sh /data/
RUN chmod +x /data/run.sh
 
ENTRYPOINT /bin/sh -c /data/run.sh

次のようにrun.shを読み取ります。

# 向hosts文件追加内容
#cat /data/myhosts >> /etc/hosts
echo "192.168.1.37 testgitlab.kuaidihelp.com"  >> /etc/hosts
 
# 其他命令
 
# 保留终端,防止容器自动退出
/bin/sh

おすすめ

転載: www.cnblogs.com/mrnx2004/p/11767354.html