docker client 명령어
첫번째 docker는 도커 클라이언트를 칭합니다
두번째 run은 컨테이너를 만들라는 명령어입니다
세번째 alpine은 이미지이름입니다
네번째 자리는 컨테이너를 만들때 이미지에서 전달받은 실행 명령어를 넣지 말고 네번째 자리의 명령어를 넣어라라는 뜻입니다.
ls는 현재 디렉토리의 파일을 출력하는 명령어기 때문에 alpine이미지 내부에 파일구조를 확인해볼 수 있습니다.
> docker run alpine ls
bin
dev
etc
home
lib
media
mnt
...
...
먼저 아래의 명령어를 쳐서 컨테이너를 계속 실행시켜보겠습니다. 위와 같은 원리로 alpine 이미지로 ping localhost를 실행명령어로 갖는 컨테이너가 만들어진 것입니다. 지속적으로 localhost에 요청을 보내는 중입니다.
> docker run alpine ping localhost
64 bytes from 127.0.0.1: seq=0 ttl=64 time=1.569 ms
64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.089 ms
64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.134 ms
64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.359 ms
...
다른 터미널을 켜서 docker ps를 칩니다. 그럼 아래와 같이 컨테이너 id와 어떤 이미지로 만들어진 것인지 그리고 어떤 명령어가 들어간 것인지 등 실행중인 컨테이너에 대한 정보가 뜹니다.
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0307f38ca29a alpine "ping localhost" 14 seconds ago Up 13 seconds hopeful_franklin
실행중인 컨테이너뿐만 아니라 모든 컨테이너를 출력해보도록 하겠습니다. 아래처럼 종료되었거나 생성만된 컨테이너들도 모두 뜹니다.
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0307f38ca29a alpine "ping localhost" 4 minutes ago Exited (0) About a minute ago hopeful_franklin
acec45666429 alpine "ls" 10 minutes ago Exited (0) 10 minutes ago modest_borg
8849d442056d hello-world "ls" 10 minutes ago Created kind_buck
5835ed3beb68 hello-world "/hello" 27 minutes ago Exited (0) 27 minutes ago agitated_wilbur
2c984cdc8442 alpine "ping localhost" 24 hours ago Exited (0) 23 hours ago thirsty_sinoussi
c43380177ab2 redis "docker-entrypoint.s…" 24 hours ago Exited (0) 24 hours ago amazing_haslett
0dee854e6398 alpine "/bin/sh" 25 hours ago Exited (0) 25 hours ago sad_haslett
c8bc0330405b alpine "ls" 25 hours ago Exited (0) 25 hours ago boring_mahavira