본 가이드는 이클립스 플러그인 Docker Tooling 사용 가이드를 제공한다.
사용자는 기본 도커(Docker)에 대한 기본적인 지식 있는다는 것을 가정하였다.
본 가이드의 환경은 다음과 같다.
- WIndows 11 home
- 표준프레임워크 개발자용 개발환경 4.2.0
- Windows Docker Desktop v4.26.0 (Docker Engine 24.0.7)
- Eclipse Docker Tooling 5.9.0
✔ 표준프레임워크 개발자용 개발환경에는 Docker tooling이 이미 설치되어있어 별도의 설치가 필요 없다.
Eclipse에서 Help > Eclipse Marketplace 클릭
Find 상자에 “Docker”를 입력
Docker Tooling 을 찾아 Install을 클릭
설치 마법사의 지시에 따라 설치를 완료한다.
설치가 완료되면 Eclipse를 재시작하여 Docker 도구 기능을 활성화한다.
Docker Desktop은 개발자가 컨테이너를 쉽게 만들고 관리할 수 있도록 도와주는 애플리케이션이다.
설치 링크 :
https://docs.docker.com/desktop/release-notes/
OS에 맞는 버전을 설치한다.
✔ Docker Tooling이 최신의 Docker Engine과 호환이 되지 않을 수 있다.
본 가이드에서는 Docker Desktop 4.26.0 (Docker Engine 24.0.7)을 설치하여 진행하였다.
다운로드한 Docker Desktop Installer.exe 또는 Docker.dmg 파일을 실행 후
설치 마법사를 따라 설치를 진행한다.
Docker 데몬을 TLS 없이 로컬 호스트에서 2375 포트를 통해 TCP로 노출하기 위해
Docker 설정에서 아래 구문의 체크박스를 체크한다.
Expose daemon on tcp://localhost:2375 without TLS
Docker 데몬은 기본적으로 Unix 소켓을 통해 통신하지만, TCP 포트를 사용하여 외부에서 접근 가능하도록 설정할 수 있다.
하지만 TLS 없이 노출하면 원격 코드 실행 공격에 취약해질 수 있으니 주의해야 한다.
설정 후 반드시 Docker restart를 진행한다.
Window > Show View > Other…로 이동
Show View 대화상자에서 Docker를 확장하고 Docker Explorer를 선택한다.
Docker Tooling이 자동으로 Docker를 감지한다.
자동으로 설정이 되지 않을 경우, 직접 설정한다.
Docker Explorer에서 New connection…을 클릭한다.
Connection name : 연결 이름을 입력한다.
Use custom connection settings : 이 옵션을 체크하여 사용자 지정 연결 설정을 사용한다.
Unix socket : Unix 소켓 주소를 입력한다.
Linux / Mac 사용자에게는 로컬 데몬이 실행 중인 경우 기본적으로 Unix 소켓이 설정된다.
예) unix:///var/run/docker.sock
TCP Connection : Windows 시스템에서는 TCP 주소를 입력한다.
예) tcp://localhost:2375
Enable authentication : 인증이 필요한 경우 체크박스를 클릭하고 인증 파일의 경로를 입력한다.
Test Connection : 설정이 완료되면 Test Connection 버튼을 클릭하여 연결이 제대로 설정되었는지 확인한다.
Finish : 테스트가 성공하면 Finish 버튼을 클릭하여 연결을 완료한다.
Start : 시작
Pause : 일시 중지
Unpause : 일시 중지 해제
Stop : 중지
Kill : 강제 종료
Restart : 재시작
Show in > Properties View : 속성 보기에서 표시
Open Image Hierarchy : 이미지 계층 열기
Execute Shell : 쉘 실행
Copy from Container : 컨테이너에서 복사
Copy to Container : 컨테이너로 복사
Remove : 제거
Commit : 컨테이너를 이미지로 커밋
Display Log : 로그 표시
Remove Log : 로그 제거
Run : 컨테이너를 빌드하고 실행
Show in > Properties View : 속성 보기에서 표시
Open Image Hierarchy : 이미지 계층 열기
Remove : 제거
Push : 이미지를 레지스트리에 푸시
Add Tag : 이미지에 태그 추가
Remove Tag : 여러 태그가 있는 Docker 이미지에서 특정 태그를 제거한다.
Pull : 저장소에서 이미지 가져오기
Push : 이미지를 저장소로 푸시
Create : 이미지로부터 컨테이너 생성
Build : Dockerfile로부터 이미지 빌드
Tag : 이미지에 태그 추가
Delete : 이미지 삭제
Refresh : 이미지 목록 새로 고침
Start : 중지된 컨테이너 시작
Pause : 일시 중지
Unpause : 일시 중지 해제
Stop : 실행 중인 컨테이너 중지
Kill : 실행 중인 컨테이너 강제 종료
Restart : 컨테이너 재시작
Remove : 중지된 컨테이너 삭제
Refresh : 컨테이너 목록 새로 고침
Registry account : 기본적으로 Docker Hub 레지스트리가 사용된다.
Add a registry account… : 추가 개인 레지스트리를 지정할 수 있다.
Image name 또는 Search… : 다운로드할 이미지의 전체 이름을 입력하거나 Search 버튼을 사용하여 이미지를 검색할 수 있다.
외부 또는 로컬 레지스트리를 지정하려면 Tag Image 기능을 사용하여 레지스트리 지정자와 함께 기존 이미지에 새 태그를 추가한 후 해당 태그를 푸시한다.
지정된 리포지토리에 대한 인증이 필요한 경우, Window → Preferences → Docker → Registry Accounts에서 레지스트리 계정을 추가할 수 있다.
force taggind image with selected registry : 클라이언트에 태그를 강제로 적용한다.
keep tagged image upon completion : 새 태그로 이미지를 푸시할 때, 푸시 완료 후에도 태그를 유지할지 여부를 지정한다.
Image : 실행하려는 이미지
Container Name : 컨테이너의 이름을 지정
EntryPoint : 컨테이너를 실행 가능한 파일로 설정하는 옵션
Command : 컨테이너가 시작될 때 실행할 명령어 (이미지에 기본 명령이 있는 경우, 비워 두어도 됨)
Ports : 컨테이너의 포트를 노출 및 설정
Links : 다른 컨테이너에 링크
Keep Stdin Open to Console even if not attached : 콘솔에서 입력을 허용하도록 설정
Allocate pseudo-tty from Console : 컨테이너에 TTY를 할당
Automatically remove the Container when it exits : 종료 시 컨테이너를 자동으로 제거
Give extended privileges to this container : 컨테이너에 추가 권한을 부여
Use unconfined seccomp profile : ptrace와 같은 특수 시스템 호출을 사용하는 프로그램을 실행할 때 사용
Add basic security : 악성 응용 프로그램으로부터 보호하기 위해 몇 가지 권장 옵션을 추가
Data Volumes : 호스트 볼륨을 컨테이너에 마운트하거나 다른 컨테이너의 볼륨을 마운트할 수 있다.
Environment Variables : 컨테이너에서 사용할 환경 변수를 지정한다.
Labels : 컨테이너에 라벨을 제공하여 컨테이너 보기에서 필터링할 수 있다.
Enable Resource Limits : 컨테이너의 메모리 또는 CPU 우선 순위를 제한하는 데 사용한다.
Commit : 컨테이너의 모든 변경 사항을 새로운 이미지로 커밋
Restart : 컨테이너 재시작
Display Log : 로그 보기
Remove Log : 로그 제거
Open Image Hierarchy : 컨테이너의 이미지 계층표시
Copy from Container : 컨테이너에서 호스트로 파일 복사
Copy to Container : 호스트에서 컨테이너로 파일 복사
Execute Shell : 실행 중인 컨테이너에서 셸을 실행
컨테이너 선택 > 마우스 오른쪽 버튼 > Display Log
TTY 플래그 설정 여부에 따라 Terminal View 또는 Console View에 로그가 표시된다.
로그 설정 변경 : Window → Preferences → Docker → Logging 에서 로그 설정을 변경할 수 있다.
Docker Images View에서 Build 버튼을 클릭한다.
이미지 빌드
Finish 클릭한다. Console에서 결과를 확인할 수 있다.
제작된 이미지를 실행한다.
콘솔에서 실행결과를 확인할 수 있다.
웹 브라우저에서 해당 사이트를 확인 및 테스트를 한다.
Docker Preference에서 설정할 수 있다. (Window > Preferences > Docker)
Docker-compose의 위치를 지정한다.
(defalut - Linux and Mac : /usr/local/bin Win : C:\Program Files\Docker\Docker\resources\bin
docker-compose.yml 파일을 선택하고 Run > Docker Compose를 실행한다.
이 위키의 내용은 다음의 라이센스에 따릅니다 :
CC Attribution-Noncommercial-Share Alike 3.0 Unported전자정부 표준프레임워크 라이센스(
바로가기)
전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.