250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JDBC
- jpa
- Tomcat
- Thymeleaf
- Source
- Open Source
- Python
- 오픈소스
- maven
- SpringBoot
- Exception
- MySQL
- Spring Boot
- oracle
- Core Java
- 설정
- IntelliJ
- Eclipse
- Docker
- PostgreSQL
- AJAX
- spring
- MSSQL
- ubuntu
- error
- 문서
- myBatis
- git
- STS
- JavaScript
Archives
- Today
- Total
헤르메스 LIFE
[Docker] 포트가 사용중인 경우 해결방법 본문
728x90
Docker 에 Oracle XE 를 설치 하였습니다. 평소에는 사용할 일이 없지만, 테스트용으로 간간이 사용합니다.
이번에도 테스트를 위해 Oracle Docker 서버를 시작했는데, 아래와 같은 오류가 발생했습니다.
Error invoking remote method 'docker-start-container':
Error: (HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:1521 -> 0.0.0.0:0: listen tcp 0.0.0.0:1521:
bind: An attempt was made to access a socket in a way forbidden by its access permissions.
대략봐도 포트번호를 누군가가 사용하고 있다는 메시지로 보여집니다.
보통의 경우 사용되는 경우가 대부분이긴 합니다.
이 경우는 아래와 같은 구문으로 찾을 수 있습니다.
$ netstat -ano | findstr ":3306"
그런데, 실제 포트가 사용되지 않는데도 포트를 사용할 수 없다고 오류가 발생하는 경우가 있습니다.
이럴 때는 시스템에서 사용자가 쓰지 못하도록 점유되어 경우입니다.
powershell 을 관리자로 실행 해서 아래와 같이 실행합니다.
PS C:\> netsh interface ipv4 show excludedportrange protocol=tcp
프로토콜 tcp 포트 제외 범위
시작 포트 끝 포트
---------- --------
1053 1152
1196 1295
1296 1395
1396 1495
1496 1595
1596 1695
1712 1811
2869 2869
8708 8807
27339 27339
50000 50059 *
* - 관리 포트 제외입니다.
* 표시는 점유되어 있지 않다는 표시 입니다.
점유되지 않는 포트로 할당을 하고 싶은 경우 아래와 같이 실행하면 됩니다.
PS C:\> netsh int ipv4 delete excludedportrange protocol=tcp startport=1496 numberofports=100
액세스가 거부되었습니다.
안되는 경우 아래와 같이 하면 됩니다. ( 점유된 포트를 전부 초기화 해버립니다. ㅎㅎ )
PS C:\> net stop winnat
Windows NAT Driver 서비스를 잘 멈추었습니다.
PS C:\> net start winnat
Windows NAT Driver 서비스가 잘 시작되었습니다.
PS C:\> netsh interface ipv4 show excludedportrange protocol=tcp
프로토콜 tcp 포트 제외 범위
시작 포트 끝 포트
---------- --------
2869 2869
27339 27339
50000 50059 *
* - 관리 포트 제외입니다.
그리고 이제 원하는 포트를 예외 처리합니다.
-- oracle port
netsh int ipv4 add excludedportrange protocol=tcp startport=1521 numberofports=1 store=persistent
-- postgress port
netsh int ipv4 add excludedportrange protocol=tcp startport=5432 numberofports=1 store=persistent
-- mysql/maria port
netsh int ipv4 add excludedportrange protocol=tcp startport=3306 numberofports=1 store=persistent
결과는 아래와 같습니다. 전부 예외 처리되었습니다.
PS C:\> netsh interface ipv4 show excludedportrange protocol=tcp
프로토콜 tcp 포트 제외 범위
시작 포트 끝 포트
---------- --------
1521 1521 *
2869 2869
3306 3306 *
5432 5432 *
27339 27339
50000 50059 *
* - 관리 포트 제외입니다.
Oracle 이 실행되었습니다.
https://hermeslog.tistory.com/713
728x90