1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker 入門者のアウトプットAdvent Calendar 2024

Day 19

【Docker】サービスにホストマシンからのみアクセスさせる

Last updated at Posted at 2024-12-13

Dockerのcomposeファイルを書く際のport指定を、ポート番号のみで指定することが多いと思いますが、これだとLAN内の他のPC等からアクセスできてしまいます。

テレワークでLAN内の家族のPCからアクセスされたり、会社内でも関係者外からアクセスされることが望ましくない場合も多いと思います。

以下に簡単な内容となりますが、周知になることも期待し、それを防ぐ書き方をまとめておこうと思います。

記載の方法

compose.yamlには以下のように、ポート名に加え127.0.0.1を指定して記載するだけで良いです。

compose.yaml
services:
  web:
    image: nginx
    volumes:
      - ./html:/usr/share/nginx/html
    ports:
      - "127.0.0.1:8080:80"

HTMLの内容です。お試しなので何でも良いです。

./html/index.html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>HTML</title>
  </head>
  <body>
    <h1>Hello!</h1>
    <p>This is sample.</p>
  </body>
</html>

結果

  • 自身のPCから、http://localhost:8080http://127.0.0.1:8080でアクセスできます
  • 自身のPCや、LAN内の他のPCから、ローカルIPなどではアクセスできません(例: http://192.168.1.10など)

上記のようにlocalhost(ループバックアドレス)に制限することで、他のPCからのアクセスを防ぐことができます。

文献等では、このような定義をしているものがほとんど無さそうですが、自分自身が使うものであれば必ず書く癖をつけておいてもいいかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?