-
docker-2 도커 이미지 생성과 삭제클라우드/docker 2023. 5. 12. 11:58
1. 도커 설치
1. 도커를 구축하기 위한 우분투 가상 머신을 하나 생성한다.
2. powershell으로 가상머신에 로그인하고 sudo apt-get update, sudo apt-get upgrade로 최신화한다.
3. 아래 링크에 접속하여 명령을 차례대로 실행하여 도커를 설치한다.
https://docs.docker.com/engine/install/ubuntu/
2. 도커 이미지 생성과 삭제
sudo docker run hello-world를 실행하여 도커가 설치된 것을 확인한다.
실습을 위해 사용자 권한을 루트 사용자로 전환한다. sudo 권한 없이 실행할 수 있다.
docker pull ubuntu:18.04 명령을 사용해 우분투 18.04버전을 로컬로 가져오고 docker images로 현재 가지고 있는 이미지들을 볼 수 있다.
docker ps -a 명령어로 사용했거나 사용중인 프로세스들을 모두 확인할 수 있다.
docker run -it --name demo1 ubuntu:18.04 /bin/bash 명령은 demo1이라는 컨테이너 안에 우분투 18.04 버전을 설치하고 쉘프로그램을 실행시키고 바로 #으로 표시되어 루트 권한으로 접속하였다.
컨테이너에서 exit으로 나간다. docker run -it -d --name demo2 ubuntu:18.04를 실행하면 demon 모드로 실행된다.
docker ps로 현재 실행중인 프로세스를 확인하면 demo1은 종료되었지만 demo2는 -d 옵션을 주었기 때문에 계속 실행 중인 것을 확인할 수 있다.
docker exec -it demo2 /bin/bash로 demo2에 접속할 수 있다.
docker run --name demo3 -d busybox sh -c "while true; do $(echo date); sleep 1; done" 명령어로 demo3에 busybox 이미지를 설치한다. 1초에 한 번씩 날짜 값을 찍을 수 있는 조건문을 실행한다.
docker logs demo3로 로그를 찍어보면 컨테이너의 로그를 볼 수 있다.
docker logs demo3 -f를 사용하면 demo3를 팔로우하여 계속 로그를 찍을 수 있다. crtl+c를 눌러 빠져나온다.
docker stop demo3, docker stop demo2, docker stop demo1 으로 컨테이너를 종료한다. 사용하지 않지만 메모리상에 정지상태로 존재하는 demo1도 종료한다.
rm demo3 demo2 demo1으로 컨테이너를 삭제하고 docker ps -a로 삭제된 것을 확인할 수 있다.
hello world 컨테이너는 생성할 때 이름을 정해주지 않았기 때문에 무작위로 생성된다.
hello world 컨테이너를 삭제하고 프로세스를 확인하면 우분투만 남아있다.
컨테이너를 삭제했기 때문에 이제 어디에도 사용하지 않는 이미지는 삭제할 수 있다.
rmi hello-world busybox로 hello-world와 busybox의 이미지를 삭제할 수 있다.
태그가 있는 이미지는 태그까지 적어서 삭제한다.
docker rmi ubuntu:18.04 명령어로 18.04 이미지까지 삭제하고 이미지를 확인해 보면 최신버전의 우분투만 남아있다.
'클라우드 > docker' 카테고리의 다른 글
docker-5 kubernetes 1 kubernetes (0) 2023.05.12 docker-4 registry (0) 2023.05.12 docker-3 도커 이미지 빌드 (0) 2023.05.12 docker-1 도커 (0) 2023.05.04