Docker

우분투 컨테이너 구성

기억보다는 기록을... 2024. 2. 4. 17:22

 

구성 정보
  • OS: Ubuntu 22.04.3 LTS
  • Docker: Docker version 25.0.2, build 29cf629

 

우분투 컨테이너 구성

 

이미지 다운로드

버전을 명시하지 않으면 자동으로 latest로 지정된다

$ docker pull ubuntu:22.04

 

다운로드 받은 이미지 확인

$ docker images

 

이미지 검색 후 필요한 버전으로 다운로드 가능

$ docker search ubuntu

 

도커 컨테이너 생성

$ docker run -d --name test -p 2222:22 -it --privileged ubuntu:22.04

 

필요한 옵션은 검색 후 적용

-d  컨테이너 백그라운드 실행
--name test  컨테이너 이름
-p 2222:22  포트 매핑 (순서대로 - 호스트:컨테이너)
-it 컨테이너의 표준 입력(stdin), tty(가상터미널) 활성화.
--privileged 관리자 권한 부여
ubuntu:22.04 사용할 이미지

 

[ docker privileged 모드 ]

  • 도커 컨테이너는 기본적으로 unprivileged 모드로 실행되며, 이 모드의 경우 시스템 주요 자원에 접근할 수 있는 권한이 부족하여 특정 장치 등의 시스템을 접근할 수 없음. (네트워크 설정 등)
  • 컨테이너 내부에서 호스트 시스템의 모든 권한이 부여되므로 보안상 문제가 발생 할 수 있어 검토 후 사용.
  • 참고: Runtime privilege and Linux capabilities
              (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)

 

컨테이너 확인

 

컨테이너 목록 확인

$ docker ps -a

 

 

컨테이너 접속

$ docker attach test

 

[컨테이너 나오기]

  • Ctrl + D 또는 exit - 실행중인 컨테이너도 함께 종료 됨

  • Ctrl + P, Q - 컨테이너는 실행 상태로 빠져나옴.

 

참고

컨테이너 추가 패키지 구성

이미지를 다운받아 컨테이너 구성 시 기본적인 패키지만 설치되어 있어 필요 패키지 추가 구성 필요

 

그 외 추가적인 설정을 적용하여, 도커 이미지로 만들어 배포 원본 이미지로 사용 가능.

필요 시 ssh_config를 수정하여 ssh로 접속도 가능

 

명령어

docker ps 실행 중인 컨터이너 확인
docker ps -a 생성 된 모든 컨테이너 확인 (정지 된 컨테이너 포함)
docker rm [ CONTAINER ID 컨테이너 삭제
docker rm [ CONTAINER ID ],[ CONTAINER ID ] 컨테이너 다수 삭제 시
docker images 도커 이미지 확인
docker rmi [IMAGE ID] 도커 이미지 삭제
docker rmi -f [IMAGE ID] 컨테이너 삭제 전 도커 이미지 강제 삭제
docker start [CONTAINER ID] 컨테이너 실행
docker attach [NAMES] 컨테이너 접속 (NAMES 대신 CONTAINER ID 를 사용해도 됨)