2017-03-02 2 views
2

일반적으로 포트를 바인딩 할 때 docker run -p hostport:dockerport ...을 수행 할 것이지만 내 Dockerfile에 포트 바인딩을 지정할 수 있습니까?Dockerfile 내부에서 호스트 할 바인드 컨테이너 포트

포트에서 수신 대기중인 서버를 시작하고 있습니다. 서버는 cmd 행 인수를 통해 포트를 가져옵니다. 두 위치에서 포트를 반복하지 않아도됩니다. (docker run 명령과 Dockerfile)

답변

4

만 사용할 수 있습니다. EXPOSE 명령은 컨테이너가 런타임에 지정된 네트워크 포트에서 수신 대기한다는 것을 Docker에 알립니다. EXPOSE는 컨테이너의 포트를 호스트가 액세스 할 수있게하지 않습니다.

호스트 포트를 컨테이너에 할당하려면 publish (-p)해야합니다. 또는 노출 포트 중 을 게시하려면 -P 플래그를 사용하십시오.

프로세스를 자동화하려면 docker-compose을 사용할 수 있습니다. 도커 작성 파일에서 다른 인수로 여러 docker run 명령을 조율 할 수 있습니다.

+0

아아, 그렇습니다. 나는 도커 작성을해야합니다. 감사! –

관련 문제