원하는 프로그램을 다운받기 위해서는 앱스토어 같은 사이트에서 소프트웨어를 찾고, 프로그램을 다운받고, 실행시킨다(process). 이와 같이 도커도 필요한 소프트웨어를 docker hub에서 찾아서, image를 실행시킨다(container). 여기서 image는 여러개의 container를 가질 수 있다.
Apache라고 하는 Apache HTTP Server는 World Wide Web의 초기 성장에 중요한 역할을 한 것으로 유명한 웹 서버 응용 프로그램입니다.
출처: dockerhub-httpd
httpd image는 아파치 컨테이너로 웹 서버를 실행할 수 있게 한다.
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
$ docker images [OPTIONS] [REPOSITORY[:TAG]]
image가 container가 되고, container가 실행되면서 그 안의 프로그램을 사용할 수 있게 된다.
# 컨테이너 생성
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 컨테이너 확인
$ docker ps
# 새로운 컨테이너 만들기
$ docker run --name <컨테이너이름> [OPTIONS]
# 컨테이너 중지(삭제와 다르다)
$ docker stop [컨테이너이름]
# 중지시킨 컨테이너 재실행
$ docker start [컨테이너이름]
이 때, start로 재실행은 가능하지만 이전처럼 log는 확인이 안된다. 이 때 사용하는 명령어는,
# 컨테이너 로그 확인
$ docker logs <컨테이너이름>
# 실시간으로 컨테이너 로그 확인
$ docker logs -f <컨테이너이름>
실행중인 컨테이너는 삭제가 안되므로 stop 명령어로 미리 중지시켜둔다.
# 컨테이너 삭제
$ docker rm <컨테이너이름>
# stop없이 강제 삭제
$ docker rm --force <컨테이너이름>
$ docker rmi <image>