DevOps/Docker

[Docker] Docker 기본

물꼮이 2023. 11. 29. 06:18

 

아래 google - Cloud Shell 에서 실습진행 
- https://shell.cloud.google.com

개발환경 확인 

uname -a						// 현재 사용 HW 정보 표출
cat /etc/*release					// 현재 사용 OS 정보 표출 
docker -v						// docker 버전 확인

 

 

컨테이너 실행 

docker container run {도커이미지명:버전명} {리눅스 명령어}

 

예시)

docker container run docker/whalesay cosway hello-world!
docker container run centos				// 라이브러리
docker container run -d centos sleep 100		// 백그라운드 100동안 유지
docker container run -d --name nginx_webserver -p 8080:80 nginx		// nginx웹서버 실행 (nginx라는 이름의 이미지파일 실행)

* cosway : -linux에서 ASCII그림을 그려주는 명령어

 

옵션)

옵션 역할 예시
-a 실행 종료된 컨테이너 목록을 포함해 출력  
-it 컨테이너 내부 접속해 바로 bash(#)쉘 실행  
-d 백그라운드로 프로세스 실행  
--name 컨테이너 생성과 동시에 이름 지정  
-p [{host port} : {container port}] 포트 지정 및 연결
(host port와 container port를 mapping 함 )
-p 8080:80
     

 

 

동작)

  1. centos 이미지의 latest 버전 로컬에 있는지 확인
  2. 없을 경우, => 공식저장소에서 다운로드 (pulling)
  3. 있을 경우, => 이미지 다운로드 하지 않고 local이미지 그대로 사용

 


실행중인 컨테이너 확인 

docker container ps

 

옵션)

옵션 역할 예시
-a  종료된 컨테이너를 포함해 출력  

 

 

 

실행중인 컨테이너 목록

상태)

실행중인 컨테이너 정보 의미
CONTAINER ID 컨테이너 고유 ID가 16진수 해시값으로 생성됨
IMAGE 컨테이너 생성시 사용한 이미지의 이름
COMMAND 컨테이너가 시작될 때 실행될 명령어
CREATED 컨테이너가 생성된 이후 소요된 시간
STATUS 컨테이너 상태 ex_ Exited(이미 정지), Up(실행중인 상태)
PORTS 컨테이너 외부 노출할 포트 & 호스트 포트 정보 
NAMES 컨테이너 생성 시 --name 옵션 설정이 없으면 임의로 이름 생성