[🐳 Docker 🐳]μ»¨ν…Œμ΄λ„ˆ 라이프 사이클 feat.κΈ°λ³Έ λͺ…λ Ήμ–΄

Yohan_05Β·2023λ…„ 1μ›” 28일
0

Docker

λͺ©λ‘ 보기
2/11
post-thumbnail

Docker Container Lifecycle

μ»¨ν…Œμ΄λ„ˆ μ‹œμž‘

docker create, run λͺ…λ Ήμ–΄ λͺ¨λ‘ 이미지가 없을 κ²½μš°μ—” μžλ™μœΌλ‘œ pull 을 λ¨Όμ € μˆ˜ν–‰ν•˜μ—¬μ„œ 이미지λ₯Ό λ‹€μš΄λ‘œλ“œ λ°›μŒ.

$ docker create [image] # μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄
$ docker start [container] # μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹œμž‘ν•˜λŠ” λͺ…λ Ήμ–΄
$ docker run [image] # 생성과 μ‹œμž‘ λͺ…령을 ν•œκΊΌλ²ˆμ—

μ˜ˆμ‹œ

$ docker ps # 아무것도 μ•ˆλœ°κ±°μž„
$ docker run nginx #ngnix 이미지 ν’€ 받아지고 μ»¨ν…Œμ΄λ„ˆ 싀행됨
$ docker ps #λ‹€μ‹œ μ‘°νšŒν•΄λ³΄λ©΄ μƒμ„±ν•˜κ³  μ‹€ν–‰λ˜κ³  μžˆλŠ” ngnix μ»¨ν…Œμ΄λ„ˆκ°€ 쑰회됨.

μ»¨ν…Œμ΄λ„ˆ μ‹œμž‘ μ£Όμš” μ˜΅μ…˜

$ docker run \ 
	-i \ 							# 호슀트의 ν‘œμ€€ μž…λ ₯을 μ»¨ν…Œμ΄λ„ˆμ™€ μ—°κ²°
    -t \ 							#  tty ν• λ‹Ή
    --rm \ 							# μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ μ’…λ£Œ ν›„ μžλ™ μ‚­μ œ
    -d \ 							# λ°±κ·ΈλΌμš΄λ“œ λͺ¨λ“œλ‘œ μ‹€ν–‰
    --name hello-docker \ 			# μ»¨ν…Œμ΄λ„ˆ 이름 지정
    -p 8000:8000 \ #호슀트 -  		# μ»¨ν…Œμ΄λ„ˆ κ°„ 포슀 바인딩
    -v /opt/example:/example \ 		#호슀트 - μ»¨ν…Œμ΄λ„ˆ κ°„ λ³Όλ₯¨ 바인딩
    docker/hello-docker:latest \ 	#μ‹€ν–‰ν•  이미지
    my-command 						#μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—μ„œ μ‹€ν–‰ν•  λͺ…λ Ήμ–΄

μ»¨ν…Œμ΄λ„ˆ μƒνƒœ 확인

$ docker ps # 싀행쀑인 μ»¨ν…Œμ΄λ„ˆμ˜ μƒνƒœ 확인
$ docker ps - a # 전체 μ»¨ν…Œμ΄λ„ˆ μƒνƒœ 확인
$ docker inspect [container] # μ»¨ν…Œμ΄λ„ˆ 상세 정보 확인

μ»¨ν…Œμ΄λ„ˆ μ’…λ£Œ

$ docker shop [container] # μ»¨ν…Œμ΄λ„ˆ μ’…λ£Œ
$ docker kill [container] # μ»¨ν…Œμ΄λ„ˆ κ°•μ œ μ’…λ£Œ
$ docker stop $(docker ps -a -q) # λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆ μ’…λ£Œ

μ»¨ν…Œμ΄λ„ˆ μ‚­μ œ

$ docker rm [container] # μ»¨ν…Œμ΄λ„ˆ μ‚­μ œ(싀행쀑인 μ»¨ν…Œμ΄λ„ˆλŠ” λΆˆκ°€)
$ docker rm -f [container] # μ»¨ν…Œμ΄λ„ˆ κ°•μ œμ’…λ₯˜ ν›„ μ‚­μ œ
$ docker run --rm ... # μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ μ’…λ₯˜ ν›„ μžλ™ μ‚­μ œ
$ docker container prune # μ€‘μ§€λœ λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆ μ‚­μ œ
profile
μ•ˆλ…•ν•˜μ„Έμš” DevOps μ—”μ§€λ‹ˆμ–΄λ‘œ ν˜„μ—…μ—μ„œ ν™œλ™μ€‘μΈ μš”ν•œμ΄λΌκ³  ν•©λ‹ˆλ‹€.

0개의 λŒ“κΈ€