이 전에는
docker run
만 이용해서 컨테이너를 생성하고 실행했지만,docker start
를 통해 종료된 컨테이너를 다시실행
시킬 수 있습니다.
종료시킨 컨테이너를 다시 실행하기 위해서는
컨테이너 ID
를 갖고 다시 실행할 수 있습니다.
컨테이너 list를 찾는 명령어는 다음과 같다.
docker ps -a
컨테이너를 다시 실행시키는 명령어는 다음과 같다.
docker start [container-id / container-name]
컨테이너를 처음
run
을 통해 실행시켰을 때 주었던 옵션이start
를 통해 다시 실행했을 때 동일하게 주어진다.
start
를 통해 컨테이너를 실행하게 되면,run
때와는 다르게 터미널을 차단하지 않는다.
여기서 말하는
attach
와detach
의 차이는 간단하게 생각하면 현재 실행중인컨테이너
에서의 출력 내용을 볼 수 있고 없고의 차이이다.attach
모드는 볼 수 있고 반대로detach
는 볼 수 없다.
run
명령어를 통해 컨테이너를 생성하고 실행할 때는attach
모드가 기본이 되며,포그라운드
로 실행하게 된다. 따라서 이때는터미널
이 차단되게 된다.
만약
run
사용 시detach
모드로 실행하고 싶다면run
명령어 사용 시 추가적으로-d
옵션을 주면 된다.
detach
로 실행하게 되면터미널
이 차단되지 않고 해당컨테이너
는백그라운드
로 실행되게 된다.
docker run -d -p 8081:8081 [image-name]
start
명령어로 컨테이너를 실행하게 되면 기본적으로백그라운드
detach
모드로 실행되게 된다. 이 때 만약attch
모드로 실행하고 싶다면-a
옵션을 추가하면 된다.
docker start -a [container-name / container-id]
만약,
start
명령어로 컨테이너를 실행하였을 때attach
모드로 들어가고 싶다면 다음과 같이 사용할 수 있다.
docker (container) attach [container-name / container-id]
추가적으로
detach
모드로 실행되었지만로그
를 보고 싶다면 다음과 같이 사용하면 된다.
docker logs (-f) [container-name / container-id]
-f
옵션은fllow
옵션이다.
주의점은 이 전에 컨테이너를 종료하고 실행한 로그들이 다 보인다는 것..