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를 의미합니다.