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とした場合も後日検証してみたい。