docker-composeファイルに以下を追加して、特定のIPでdockerコンテナを起動しようとしています。
- ports
- 'xxx.xxx.253.202:443:443'
わかりました:
デーモンのエラー応答:ドライバーがエンドポイントapi_server(7b45d6741b8eeaecae2ff4ed1da217531f79d852a596b8f7a08cd6ee55a8ab9d)で外部接続プログラミングに失敗しました。ユーザー空間エージェント起動エラー:tcp4 xxx.xxx.253.202:443で受信中:バインディング:アドレスはすでに使用中です。
しかし、接続を見ると次のようになります。
> ss -atp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 0.0.0.0:postgresql 0.0.0.0:* users:(("docker-proxy",pid=1937,fd=4))
LISTEN 0 4096 0.0.0.0:https 0.0.0.0:* users:(("docker-proxy",pid=1377,fd=4))
LISTEN 0 4096 0.0.0.0:9090 0.0.0.0:* users:(("docker-proxy",pid=1378,fd=4))
LISTEN 0 4096 0.0.0.0:5000 0.0.0.0:* users:(("docker-proxy",pid=1443,fd=4))
LISTEN 0 4096 0.0.0.0:redis 0.0.0.0:* users:(("docker-proxy",pid=813646,fd=4))
LISTEN 0 4096 xxx.xxx.253.201:http 0.0.0.0:* users:(("docker-proxy",pid=661622,fd=4))
LISTEN 0 4096 xxx.xxx.253.201:ftp 0.0.0.0:* users:(("docker-proxy",pid=661635,fd=4))
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* users:(("sshd",pid=1046,fd=3))
ESTAB 0 0 xxx.xxx.102.49:ssh 80.71.49.109:56098 users:(("sshd",pid=802944,fd=4))
ESTAB 0 152 xxx.xxx.102.49:ssh 80.71.49.109:62244 users:(("sshd",pid=809288,fd=4))
CLOSE-WAIT 0 0 172.18.0.1:42636 172.18.0.8:postgresql users:(("docker-proxy",pid=1937,fd=14))
FIN-WAIT-2 0 0 127.0.0.1:postgresql 127.0.0.1:59520 users:(("docker-proxy",pid=1937,fd=13))
CLOSE-WAIT 0 0 127.0.0.1:59520 127.0.0.1:postgresql users:(("sshd",pid=802944,fd=10))
CLOSE-WAIT 0 0 172.18.0.1:48950 172.18.0.8:postgresql users:(("docker-proxy",pid=1937,fd=22))
FIN-WAIT-2 0 0 127.0.0.1:postgresql 127.0.0.1:56550 users:(("docker-proxy",pid=1937,fd=21))
CLOSE-WAIT 0 0 127.0.0.1:56550 127.0.0.1:postgresql users:(("sshd",pid=802944,fd=11))
ESTAB 0 0 xxx.xxx.102.49:ssh 80.71.49.109:64028 users:(("sshd",pid=819293,fd=4))
LISTEN 0 4096 [::]:postgresql [::]:* users:(("docker-proxy",pid=1960,fd=4))
LISTEN 0 4096 [::]:https [::]:* users:(("docker-proxy",pid=1392,fd=4))
LISTEN 0 4096 [::]:9090 [::]:* users:(("docker-proxy",pid=1391,fd=4))
LISTEN 0 4096 [::]:5000 [::]:* users:(("docker-proxy",pid=1450,fd=4))
LISTEN 0 4096 [::]:redis [::]:* users:(("docker-proxy",pid=813653,fd=4))
LISTEN 0 128 [::]:ssh [::]:* users:(("sshd",pid=1046,fd=4))
.202 アドレスの使用内容は何も表示されません。
ネットワークアドレスは次のとおりです。
> ip address show
eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether xx:xx:xx:2f:37:51 brd ff:ff:ff:ff:ff:ff
altname enp0s31f6
inet xxx.xxx.102.49/26 brd xxx.xxx.102.63 scope global eno1
valid_lft forever preferred_lft forever
inet xxx.xxx.253.201/29 brd xxx.xxx.253.207 scope global eno1:1
valid_lft forever preferred_lft forever
inet xxx.xxx.253.202/29 brd xxx.xxx.253.207 scope global secondary eno1:2
valid_lft forever preferred_lft forever
inet xxx.xxx.253.203/29 brd xxx.xxx.253.207 scope global secondary eno1:3
valid_lft forever preferred_lft forever
inet xxx.xxx.253.204/29 brd xxx.xxx.253.207 scope global secondary eno1:4
valid_lft forever preferred_lft forever
inet xxx.xxx.253.205/29 brd xxx.xxx.253.207 scope global secondary eno1:5
valid_lft forever preferred_lft forever
inet xxx.xxx.253.206/29 brd xxx.xxx.253.207 scope global secondary eno1:6
valid_lft forever preferred_lft forever
inet6 fe80::52eb:f6ff:fe2f:3751/64 scope link
valid_lft forever preferred_lft forever
この問題をどのように解決できますか?
答え1
以下は、ポート 443 でリッスンするラインです。
LISTEN 0 4096 0.0.0.0:https 0.0.0.0:*
次に、n
解析されたプロトコルの代わりに数値を表示するには、コマンドラインに追加します。
ss -antp
PSは0.0.0.0
マシンのすべてのIPを意味します。