Docker Lab #2

반영환·2023년 6월 20일
0

Docker

목록 보기
11/18
post-thumbnail

Docker Week 2

컨테이너 실행과 종료

docker create -it ubuntu

docker ps 
docker ps -a

docker run -dt ubuntu echo Hello, world! 
# ubuntu를 background로 실행하고 -> -d 
# 표준 입력을 열어 놓는다. -> -t

docker ps -l 
# 최근에 사용한 컨테이너 목록

docker logs <container-id>
# 컨테이너 내부 로그 확인

docker stop <container-id>

docker rm <container-id>

docker rm -f $(docker ps -aq) # 모든 컨테이너 삭제

컨테이너 사용

컨테이너 접속

docker run -it --name c1 ubuntu /bin/bash
# 컨테이너 내부 쉘 접근 
# -i : 표준 입력을 열어 놓는다.
# -t : 가상 터미널을 열어 놓는다. 

#-----------------------------------------
docker attach c1 
# 컨테이너 내부 접근

웹 서버 컨테이너 접근

웹 서버처럼 백그라운드에서 실행되는 컨테이너는 docker attach로 접근할 수 없다.

만약 내부 shell을 포함하고 있다면 exec 명령으로 터미널을 열어 접근할 수 있다.

docker run -d --name web nginx

docker ps

docker exec -it web /bin/sh

컨테이너 정보 보기

docker top web
# 프로세스 정보

docker logs web
# 표준 출력 결과 정보

docker logs -f web
# 실시간 모니터링

컨테이너 이름 변경

docker rename web webserver
# docker rename <original> <change>

컨테이너 내에서 파일 복사

컨테이너 내 파일을 호스트로 복사할 때 docker cp 명령어 사용

docker cp webserber:/usr/share/nginx/html/index.html .
#docker cp <container-name/Id>:<container_file> <host_dir>

mv index.html index2.html
docker cp index2.html webserver:/usr/share/nginx/html/
#docker cp <host_dir> <container-name/Id>:<container_file> 

docker exec -it webserver bash
# file 복사 결과 확인

컨테이너에서 이미지 생성

docker pull busybox

docker run busybox mkdir /home/test

docker ps -a

docker commit <container-id> busybox_modified

docker run -it --name b2 busybox_modified /bin/sh
profile
최고의 오늘을 꿈꾸는 개발자

0개의 댓글