OCI dockerアプリでfirwall穴あけ

Oracle社が運用するAlways Freeのクラウドサービス。こちらの記事でufwやfirewall-cmdでポート開放ができないことを投稿しているなか、先日dockerアプリをいれたところそこで指定したホストのポート(8088)が開放できた、という不思議な現象を投稿します。

環境

  • OS:Ubuntu20.04
  • Docker Ver 20.10.12
  • Docker app : Wekan(docker-wekan_wekan_1), DB: docker-wekan_wekandb_1
  • Docker-compose.yml:
version: '2'
services:
  wekan:
    image: mquandalle/wekan
    links:
     - wekandb
    environment:
     - MONGO_URL=mongodb://wekandb/wekan
     - ROOT_URL=http://XXX.X.XXX.XXX:8088 # ポートは好きなポートに
    ports:
    #wekanは8080ポートを開放しているため、コンテナのポート番号は8080にする必要がある。
    - 8088:8080 # 外部公開ポート番号 : コンテナのポート番号
# コンテナが止まった時に再起動する
    restart: always
wekandb:
    image: mongo:4.1.5
    volumes:
    - test_db:/data/db
    restart: always
volumes:
  test_db:

上記docker-compose.ymlをdocker-compose up -dでイメージのDLとコンテナーの起動を行う。その後パソコンからリモートホストアドレスをポート8088に設定してブラウザーでアクセスするとなんとappが起動してしまうのよね。

導入したappのWekan。

でその時のリモートホストのファイヤーウォールの状態は:

public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: dhcpv6-client https ssh
  ports: 80/tcp 21/tcp 8080/tcp 443/tcp 22/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

外部からポートをチェックするサービスでホストアドレスをたたくと、22,80は開放済み、8088も当然開放、8080,443,21はアクセスできず。

OCIのコミュニティに問題を投げている中、私と同じ現象の人がようやく表れ、中の人と思われる方も動いてくれる感じもするので期待しよう。

なおこのdocker-compose.ymlのポートの設定を443:8080とした場合も後日検証してみたい。

Tags:

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください