tag:crieit.net,2005:https://crieit.net/tags/hosts/feed 「hosts」の記事 - Crieit Crieitでタグ「hosts」に投稿された最近の記事 2022-05-30T23:58:04+09:00 https://crieit.net/tags/hosts/feed tag:crieit.net,2005:PublicArticle/18202 2022-05-30T23:58:04+09:00 2022-05-30T23:58:04+09:00 https://crieit.net/posts/docker-container-refer-hostmachine-hosts-20220530 Dockerコンテナ 上の名前解決とホストマシンの Windows の hosts <p>とある試験で Dockerコンテナ からのみ特別に名前解決したい、というケースが生じました。</p> <p>そこでホストマシンの Windows の hosts が使えないか検証したのでメモ。</p> <h2 id="検証"><a href="#%E6%A4%9C%E8%A8%BC">検証</a></h2> <pre><code class="bash"># yum install -y bind-utils </code></pre> <p>まず今回検証したい Dockerコンテナ はデフォルトだと <code>nslookup</code> コマンドが入っていないのでインストール (<code>bind-utils</code> の中に含まれている)。</p> <pre><code>#192.0.2.1 hoge.example1.jp </code></pre> <p>続いてホストマシンの Windows の <code>hosts</code> を上述のように記述。あえてコメントアウトしてあります。</p> <p>なお、 <code>hoge.example1.jp</code> は公開 DNSサーバ にはレコードが存在しないドメインだとします。</p> <pre><code class="bash"># nslookup > hoge.example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 ** server can't find hoge.example1.jp: NXDOMAIN </code></pre> <p>この状態で Dockerコンテナ 上から <code>nslookup</code> 。上述の通り DNSサーバ にレコードが存在しない前提なので、名前解決できません。</p> <pre><code># nslookup > example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 Non-authoritative answer: Name: example1.jp Address: 192.0.2.11 </code></pre> <p>逆に、 DNSサーバ にレコードが存在する <code>example1.jp</code> は名前解決できます。想定通りですね。</p> <pre><code>192.0.2.1 hoge.example1.jp </code></pre> <p>続いてホストマシンの Windows の <code>hosts</code> に記述をした場合です。</p> <pre><code class="bash"># nslookup > hoge.example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 Non-authoritative answer: Name: hoge.example1.jp Address: 192.0.2.1 </code></pre> <p>名前解決できました。このことから、 Dockerコンテナ はホストマシンの <code>hosts</code> を参照することが分かりました。</p> <p>これで検証が進められます。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/nkojima/items/083eed7f835547b0b0f7">使えないコマンドがある時の対応方法 - Qiita</a></li> </ul> arm-band tag:crieit.net,2005:PublicArticle/17892 2021-12-24T23:56:32+09:00 2021-12-24T23:56:32+09:00 https://crieit.net/posts/oneliner-open-windows-hosts-20211224 Windows の hosts ファイルを管理者権限のメモ帳で開くワンライナー <h2 id="経緯"><a href="#%E7%B5%8C%E7%B7%AF">経緯</a></h2> <p><code>hosts</code> を毎度毎度手動で開く (管理者権限でメモ帳を開いて、メモ帳から <code>%windows%\system32\drivers\etc\hosts</code> を開く) のは面倒になってきたので、ワンライナーを作ることにしました。</p> <h2 id="コード"><a href="#%E3%82%B3%E3%83%BC%E3%83%89">コード</a></h2> <pre><code class="bat">cd /d %~dp0 PowerShell -NoProfile -ExecutionPolicy unrestricted -Command "start notepad C:\Windows\System32\drivers\etc\hosts -verb runas" </code></pre> <p>最初の一行はなくても良いので実質ワンライナー。</p> <p>これを bat ファイルとして保存すれば、ダブルクリックで <code>hosts</code> を開くことができます。</p> <p>……ただ、 bat はスタート画面にピン止めすることはできないのですね。</p> <h2 id="スタート画面にピン止め"><a href="#%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E7%94%BB%E9%9D%A2%E3%81%AB%E3%83%94%E3%83%B3%E6%AD%A2%E3%82%81">スタート画面にピン止め</a></h2> <p>bat そのものはピン止めできませんが、 <code>cmd.exe</code> (コマンドプロンプト) はできます。</p> <p>そこで、ショートカットで「コマンドプロンプトを開きつつ、実行するコマンドとして上述ワンライナーを指定する」ことでピン止めすることにしました。</p> <ol> <li>bat ファイルのショートカットを作成</li> <li>1.のショートカットを右クリック→「プロパティ」でプロパティ画面を開く</li> <li>ショートカットのリンク先の先頭に、 <code>cmd /c</code>を挿入する</li> </ol> <p>これで、上述の「コマンドプロンプトを開きつつ、実行するコマンドとして上述ワンライナーを指定する」を実現しました。</p> <p>これでスタート画面にもピン止めできて、ダブルクリックで <code>hosts</code> を開くことができるようになりました。便利。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <h3 id="hosts を開く"><a href="#hosts+%E3%82%92%E9%96%8B%E3%81%8F">hosts を開く</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/tiibun/items/5719869552ee5b713d83">管理者権限でメモ帳を開いてhostsを編集するコマンド - Qiita</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/syui/items/7d42d7e691010ee212fb">WindowsのPowerShellを管理者権限で起動する方法 - Qiita</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://i-think-it.net/windows10-notepad-administrator-open/">Windows10でメモ帳を管理者権限で一瞬で開く方法 | あいしんくいっと</a></li> </ul> <h3 id="ピン止め"><a href="#%E3%83%94%E3%83%B3%E6%AD%A2%E3%82%81">ピン止め</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://donadona.hatenablog.jp/entry/2016/08/22/182751">Windows10でバッチファイルをスタート画面にピン留めする - ドナドナされるプログラマのメモ</a></li> </ul> arm-band