반응형
1. Dockerfile 작성
이 게시글에선 test.dockerfile을 예시로 사용
2. Docker 이미지 빌드 (생성)
2.1 터미널 (or 명령 프롬프트)에서 test.dockerfile 이 있는 디렉토리로 이동
2.2 명령어 실행
# Dockerfile 로 Docker Image 생성
# Dockerfile 파일이 있는 디렉토리 기준
# 마지막의 . 이 상대주소
# -t testdk_i : 생성될 이미지 이름 지정
# -f test.dockerfile : 사용할 Dockerfile 이름 지정
docker build -t testdk_i -f test.dockerfile .
3. Docker 컨테이너 실행
# -d : 백그라운드에서 컨테이너 실행
# -p 3389:3389 : Host의 포트 3389를 컨테이너의 포트 3389와 매핑
# --name testdk_c : 컨테이너 이름 지정
docker run -d -p 3389:3389 --name testdk_c testdk_i
4. Docker Compose를 사용하여 실행 (선택 사항)
4.1 docker-compose.yml 파일 생성
# docker-compose.yml
# 이미지 및 컨테이너 이름 소문자로 생성
# 여러 개의 서비스(컨테이너) 정의 섹션
services:
testdk_i: # Docker 생성 이미지
build: # docker 이미지 빌드
context: . # dockerfile 위치한 경로 지정
#context: ./a/b # b 폴더에 있는 dockerfile 지정 시
dockerfile: test.dockerfile # 사용할 Dockerfile 지정
ports: # 포트 지정
# Host의 포트 3389, 컨테이너의 포트 3389에 매핑
- "3389:3389"
container_name: testdk_c # 생성될 컨테이너 지정
4.2 docker-compose 파일 실행
# Docker Compose 실행
# 여러 개의 Docker 컨테이너를 쉽게 관리 및 실행하는 명령어
# docker-compose 파일이 있는 디렉토리 기준
# 백그라운드에서 데몬으로 실행되도록 하려면 : -d 옵션
# docker-compose.yml : 파일을 읽고 정의된 모든 서비스 실행
# -d : 백그라운드 실행
docker-compose up -d
5. 컨테이너 실행 후 접근 (원격 데스크톱 연결(RDP) 사용)
5.1 Windows의 "원격 데스크톱 연결(MSTSC) or 다른 RDP 클라이언트 실행
5.2 주소에 localhost:3389 입력 후 접속
5.3 로그인 화면에서 dockerfile에서 생성한 사용자 정보로 로그인
6. 로그인 실패 시 확인 방법
6-1. 로그 파일 확인
# 컨테이너 내부 쉘에 접속
docker exec -it testdk_c /bin/bash
# /var/log/xrdp.log 또는 /var/log/xrdp-sesman.log 파일 확인하여 문제 파악
cat /var/log/xrdp.log
cat /var/log/xrdp-sesman.log
7. Error 해결
7-1.기존 실행되고 있던 컨테이너를 중지하지 않고 재실행했을 때 나오는 에러
7-2. 해결 방법 (1)
1) 기존의 Docker 컨테이너 중지 및 삭제
docker stop testdk_c # 컨테이너 중지
docker rm testdk_c # 컨테이너 삭제
2) Docker 컨테이너 재실행
docker run -d -p 3389:3389 --name testdk_c testdk_i
7-3. 해결 방법 (2)
1) 새로운 이름의 Docker 컨테이너 실행 (기존 Docker 컨테이너 희망할 때)
# --name 옵션을 변경 (testdk_c -> testdk_c2)
docker run -d -p 3389:3389 --name testdk_c2 testdk_i
2) 실행 중인 전체 Docker 컨테이너 확인
docker ps -a
반응형
'🛠️ Tools & IDE > Docker' 카테고리의 다른 글
[Docker] Docker란? 핵심 개념 정리 및 가상 머신(VM) 과의 차이점 & 기본 명령어 (0) | 2025.02.02 |
---|---|
[Docker] Docker 설치 - Linux 우분투 22.04.2 (0) | 2025.02.02 |
[Docker] Docker 설치 - 윈도우 11 (0) | 2025.01.31 |