Docker 및 컨테이너

Docker는 애플리케이션을 개발, 배포, 실행하기 위한 오픈 플랫폼입니다. Docker를 사용하면 애플리케이션을 인프라와 분리할 수 있어 소프트웨어를 빠르게 제공할 수 있습니다.
왜 Docker를 사용해야 하나요?
개발자 팀과 함께 작업하면 코드를 공유해야 합니다. 문제가 발생했을 때 듣고 싶은 마지막 말은 “내 환경에서는 잘 돼”일 것입니다. 게임 서버는 전 세계 수천 대의 서버 머신에서 안정적으로 실행되어야 합니다.
서버를 안정적으로 만들기 위해 Docker를 사용합니다 - 운영 체제 수준까지 서버 코드의 모든 종속성이 어디서 어떻게 서버가 시작되든 항상 정확히 동일하도록 보장하는 가상화 소프트웨어입니다.
컨테이너
하나의 컨테이너는 코드를 패키징하는 소프트웨어의 표준 단위이며 모든 종속성을 함께 담아 애플리케이션이 한 컴퓨팅 환경에서 다른 환경으로 빠르고 안정적으로 실행되게 합니다. 컨테이너는 소프트웨어를 실행 환경과 분리하고, 예를 들어 개발과 스테이징 간의 차이에도 불구하고 일관되게 동작하도록 보장합니다.
패키징된 Docker 이미지를 실행하면, 그것들은 다음과 같습니다:
컨테이너 Docker Desktop 또는 Docker Engine에서 실행 중인 경우(보통 로컬에서),
배포 Edgegap에서 실행 중인 경우(Edge Cloud 및 Private Fleet 모두).
컨테이너는 Linux(또는 Docker Desktop)에서 네이티브로 실행되며 호스트 머신의 커널을 다른 컨테이너와 공유합니다. 별도의 프로세스로 실행되며, 추가 실행 파일보다 더 많은 메모리를 사용하지 않아 가볍습니다.

직접 해보기
Docker를 사용해 로컬에서 Docker 이미지를 빌드하거나 실행하려면 Docker를 설치해야 합니다:
설치가 완료되면 원하는 터미널을 열고 테스트 이미지를 실행해 볼 수 있습니다.
그러면 다음 단계가 자동으로 수행됩니다:
Edgegap Repository에서 speedtest 이미지를 다운로드합니다(처음 한 번만).
이 이미지를 사용해 머신에 새 컨테이너를 생성하고 시작합니다.
"speedtest"라는 이름을 지정합니다(
--name매개변수를 사용).다음을 노출하여 앱 및 버전 머신의 포트를 연결할
80컨테이너의 포트80에 연결할 수 있게 하여, 머신에서 컨테이너에 접근할 수 있도록 합니다.
✅ 열기 http://localhost:80 를 선호하는 브라우저에서 열어 컨테이너가 정상적으로 시작되었는지 확인하세요.
컨테이너가 실행되면 기본적인 상호작용을 할 수 있습니다 - 재시작, 중지, 모니터링.
먼저, 선호하는 터미널을 사용해 Docker 엔진에서 무엇이 실행 중인지 확인해 봅시다.
그러면 실행 중인 컨테이너에 대한 정보가 출력됩니다. 예를 들면:
실행 중인 컨테이너는 원하는 만큼 둘 수 있습니다.
컨테이너에 대한 더 많은 정보를 확인해 봅시다:
머신과 컨테이너 사이에서 공유되는 네트워크도 살펴볼 수 있습니다.
그러면 머신의 Docker 엔진에서 실행 중인 네트워크에 대한 정보가 출력됩니다.
개별 네트워크도 자세히 확인할 수 있습니다:
컨테이너 테스트가 끝나면 컨테이너가 사용하던 리소스(CPU 및 RAM)를 되찾을 수 있도록 반드시 중지하세요:
SSH 터널
서버 문제를 깊이 있게 진단하려면 이미지에서 SSH 서비스를 노출하고, 원격 호스트나 VM과 마찬가지로 컨테이너나 배포에 연결할 수 있습니다.
로컬 테스트
Dockerfile에 몇 가지 수정을 해야 합니다. OpenSSH 서비스를 설치하고, 비밀번호가 있는 사용자를 생성하고, 서비스를 활성화합시다.
다음 Dockerfile 명령을 Dockerfile에 병합하세요:
컨테이너에서 SSH 서비스를 시작하는 작업도 필요합니다:
✅ 이제 docker build, 그리고 테스트 docker run 를 로컬에서 실행한 뒤, ssh localhost:22.
클라우드에 배포
만약 Docker 및 컨테이너로 성공하지 못했다면, 배포 환경에서 테스트할 수 있습니다.
✅ Docker 레지스트리에 로그인하세요 및 docker push 새 태그를:
✅ 대시보드를 통해 이 이미지에 대한 새 테스트 앱 버전을 만드세요.
22/TCP에 대한 포트 매핑을 추가해
-p옵션을docker run.
✅ 배포 와 동일하게 만들고, 외부 SSH 포트가 할당된 URL 또는 IP를 사용해 ssh.
✅ 테스트가 끝나면 배포를 중지하고 테스트 이미지를 삭제하세요.
마지막 업데이트
도움이 되었나요?

