https://docker-curriculum.com/ 에서 진행하는 tutorial을 참고하여 docker 사용해보기
https://docs.docker.com/desktop/install/mac-install/
위의 page에서 chip에 맞게 Docker를 설치
brew를 통해 설치하는 것도 가능하다.
busybox image를 받아 container를 내 system에서 실행시켜 보자
왜 docker run이 정상적으로 실행되지 않았을까?
사실 run을 실행하면 Docker client는 image를 찾고, container를 올린 뒤, container 내부에서 command를 실행하게 된다.
현재 우리가 작성한 docker run busybox 명령어는 container 내부에서 실행한 command를 주지 않았기 때문에 container가 올라가고 아무 command도 실행하지 않은 뒤 종료하게 되는 것이다.
이제까지 사용한 명령어들만으로는 container에서 원하는 작업을 모두 진행할 수 없다.
원하는 작업을 모두 진행하기 위해서는 여러 command를 실행시킬 수 있는 방법에 대해 알아보자.
🚨 DANGER ZONE 🚨
container안에서 rm -rf bin을 실행하게 되면 ls, uptime 등의 명령어를 실행할 수 없게 된다. (이런 명령어들을 실행해주는 실행파일들이 있는 디렉토리가 삭제되었기 때문)
laptop/desktop에서 위의 command를 실행하지 않도록 유의하자 ❗️
이 때, exit을 하고 다시 docker run -it busybox sh command를 실행하면 다시 ls, uptime 등의 명령어를 수행할 수 있게 된다.
이는 Docker가 매번 new container를 생성하기 때문이다 !!
Container를 생성하고 실행하는 방법을 알았다면 이번에는 container를 clean up 하는 방법에 대해서도 알아보자.
여러 container를 동시에 clean up 할 때, container의 ID들을 다 작성하는 것이 굉장히 번거롭다 !
이런 경우에는 다음과 같은 명령어를 사용할 수 있다.
container 뿐만 아니라 image도 더 이상 running을 할 필요가 없다면 지울 수 있다.