docker ps
실행 시 나오는 정보들docker rename original-name changed-name
공통점은 둘 다 실행중인 컨테이너를 중지시킨다.
하지만
Stop은 Gracefully하게 중지를 시킴
자비롭게 그동안 하던 작업들을 (메시지를 보내고 있었다면 보내고 있던 메시지) 완료하고 컨테이너를 중지시킨다.
Kill은 Stop과 달리 어떠한 것도 기다리지 않고 바로 컨테이너를 중지시킨다.
docker run redis
실행 이후 새 Terminal 창에서 redis-cli
를 실행하면 에러가 발생한다.
이는 레디스 클라이언트가 도커 컨테이너 내부에서 동작중인 레디스 서버와 별개로 외부에서 접근하려 하고 있기 때문에 연결이 안되는 것이다.
따라서 redis-cli도 컨테이너 안에서 실행해야 한다.
docker exec -it <컨테이너 아이디> <명령어>
처럼 이미 실행중인 컨테이너에 명령어를 전달하면 된다.
-> docker exec -it <컨테이너 아이디> redis-cli
참고로 -it
을 붙여줘야 명령어를 실행한 후 계속 명령어를 적을 수 있다.
(-i : interactive, -t : terminal)
이 옵션이 없다면 그냥 redis-cli를 키기만 하고 밖으로 다시 나와버린다.
이 후 redis-cli를 간단하게 테스트해보면 다음과 같이 정상적으로 실행이 된다.
docker exec -it <컨테이너 아이디> <명령어>
처럼 명령어 하나 입력해야 할 때마다 타이핑 중복이 많은데, 이 문제점을 해결하기 위해 컨테이너 안에 shell이나 terminal 환경으로 접속하는 방법이 있다.
마지막 명령어를 sh로 주면 된다.
-> docker exec(또는 run) -it <컨테이너 아이디> sh
빠져 나올때는 Control + D (기존 Control + C가 안먹힘)