ターミナルを使ってhostsを書き換えます。
hostsファイルは簡単に言うと、ドメイン(ホスト名)とIPアドレスの紐付けを記載するファイルのことです。
今回は、ローカルIP(127.0.0.1)と “test_a” というホスト名を紐付けます。
なお、IP 127.0.0.1 はローカルIPと決まっています。
やりたいことは http://test_a でアクセスすると http://localhost で接続したものと同じページが見れる事を確認します。
環境は以下を構築している前提となります。
Amazon linux2 docker コンテナにapache webサーバをインストールし使用します。
目次
hostsファイルの場所
hostsファイルは以下に存在します。
/private/etc/hosts
・内容(例)
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
上記は ローカルIP 127.0.0.1 は localhost と kubernetes.docker.internal と紐づいています。
kubernetes.docker.internalは気にしないでください。
hostsの修正
ファイルの権限の確認
hostsは重要なファイルの為、読み取りのみの権限が設けられています。
以下のコマンドで権限を確認します。
・コマンド
ls -al /private/etc/hosts
・結果
-rw-r--r-- 1 root wheel 365 8 1 2019 /private/etc/hosts
ファイルの権限変更
今回はhostsファイルを編集するので、書き込み権限を与えます。
なお、sudoで実行しないとファイル権限が変更できませんでした。
・コマンド
sudo chmod 766 /private/etc/hosts
パスワードが聞かれます。macを起動した時にログインするパスワードを入力してみて下さい。権限が変更された事を確認します。
・コマンド
ls -al /private/etc/hosts
・結果
-rwxrw-rw- 1 root wheel 383 12 26 13:10 /private/etc/hosts
書き換え
hostsファイルへ以下を追記します。
127.0.0.1 test_a
ファイルの権限を戻す
以下のコマンドでhostsファイルの権限をもとに戻します。
・コマンド
sudo chmod 644 /private/etc/hosts
権限が変更された事を確認します。
・コマンド
ls -al /private/etc/hosts
・結果
-rw-r--r-- 1 root wheel 383 12 26 13:10 /private/etc/hosts
hostsの修正が反映されたことの確認
ブラウザから以下へアクセスしてください。localhostと同じページが表示されれば成功です。
http://test_a
最後に
これらはSwitchHostsを使用すると非常に便利です。