[Docker] Arukes 앱 만들면서 반한 것들(EXPOSE 선언은 필수편)

3816 단어 DockerArukas

개시하다


벚꽃 네트워크의 Docker hosting 서비스Arukas는 앱을 만들면서 노트에 빠졌다.

전말


먼저 Arukas에서 적용(=Docker 컨테이너)을 시작하려면 Docker Hub에 로그인한 이미지를 사용해야 합니다.
이번에 쓸 건 Ubuntu18이야.04의 공식적인 인상.

Arukas의 응용 프로그램 추가 컨트롤러를 열고 Docker Hub을 그림으로 정식으로 제공하는 ubuntu:18.04로 지정하여 응용 프로그램을 만듭니다.

[OK]에서 응용 프로그램을 시작합니다.

응용 프로그램의 상태가 '응용 프로그램이 디버깅 중' 으로 변경된 다음 조금만 기다려 주십시오 1.프로그램 시작 실패 를 시작할 수 없습니다.

이미지 이름을 _/ubuntu:18.04로 지정하여 다시 시도하였으나 역시 시작에 실패했습니다.
조사 결과 아루카스의 FAQ에는 다음과 같은 기록이 적혀 있었다.
대상 포트는 Docker file 내에서 EXPOSE 선언을 통해 열려 있습니까?EXPOSE 오픈 포트를 입력하지 않으면 서버로 시작할 수 없습니다.
이런 거.
이것은 특별히 포트가 개방되어야 하는 서비스를 넣지 않은 상태에서 적당한 포트만 미리 선언하면 되는 건가요?예를 들어 SSH 데몬을 이동하지 않더라도 먼저 설정EXPOSE만 하면 정상적으로 시작하는 데 필요한 조건을 충족시킬 수 있습니까?
검증해 봐.
포트 22를 원래 Ubuntu에 열기만 하면 Docker file이 준비되어 있습니다.
FROM ubuntu:18.04

EXPOSE 22

CMD echo 'Hello docker world!'
위의 Docker file에서 이미지를 구축하고 자신이 관리하는 Docker Hub에 로그인합니다.(실제 시험에서 xxxxx를 실제 존재하는 Docker Hub 계정 이름으로 사용)
docker build . -t xxxxxx/ubuntu:18.04
docker push xxxxxx/ubuntu:18.04
Arukas의 앱 제작 화면을 되돌려주고 방금 등록한 이미지EXPOSE 22를 지정하여 앱을 제작하고 시작합니다.Arukes 측 포트를 설정할 필요가 없습니다.

프로그램이 정상적으로 시작되었다.

결론


Arukas의 프로그램에서 사용하는 이미지는 하나 이상의 포트xxxxxx/ubuntu:18.04를 발표해야 합니다.
단, 용기 안에서 이 포트를 이용한 서비스를 이동하거나 아루카스 측의 포트 설정에서 같은 번호의 포트를 열 필요가 없다.


참고로 SSH 데몬이 설정한 그림을 사용하면 Arukas 측에서도 포트 22를 설정합니다

동적 하이 포트EXPOSE~arukascloud.io:31XXX 부분은 제작된 응용 프로그램의 포트 22에 자동으로 비추기 때문에 예를 들어 다음과 같은 비추는 경우31XXX는 응용 SSH와 연결할 수 있다.(URI 및 하이 포트 값은 응용 프로그램을 다시 시작할 때마다 동적으로 변경됩니다.)

https://support.arukas.io/hc/ja/articles/210357188에 따르면 응용의 설정 내용에 오류가 있는 경우 시작 시험에서의 응용은 15분 이내에 강제로 정지된다. 

좋은 웹페이지 즐겨찾기