docker run 명령어와 자주 쓰이는 옵션들 정리
우분투 컨테이너 다운로드 및 실행
docker run -d --name myubuntu ubuntu
run을 한 다음 docker ps 를 했을 때 실행 중인 우분투 컨테이너가 보일 줄 알았지만 해당 컨테이너는 실행과 동시에 종료되어 docker ps -a를 해야만 볼 수 있다.
우분투 컨테이너가 실행과 동시에 종료되는 이유
https://ilikecoding.tistory.com/78
6강에서도 설명하셨는데.. 컨테이너 내부 프로그램이 일회성이라면 컨테이너를 띄우자마자 종료되어버린다고함.
우분투 이미지는 내부에 실행될 프로그램이 없기 때문에 바로 종료.. httpd는 내부에 아파치 프로그램이 무한루프로 돌고 있기 때문에 종료되지 않는다.
[우분투 이미지 실행]
우분투 ▶ RUN ▶ 죽음(내부에 실행할 프로그램이 없다.)
[httpd 이미지 실행]
httpd ▶ RUN ▶ 내부에 무한루프로 Listener가 돌고있어서 종료되지 않는다.
httpd image = ubuntu + apache 인 것.
우분투 이미지 종료를 막는 방법
docker run -dit --name myubuntu ubuntu
바로 -it 옵션을 사용하는 것이다.
-i : interaction 상호작용을 하겠다.
-t : terminal 터미널 모드로 사용 (/bin/bash를 자동으로 실행시켜준다.)
--name : 도커 컴포즈를 할 때 컨테이너끼리 결합을 할 때 --link 옵션의 파라미터로 컨테이너 이름을 넘겨주기 위한 식별값.
(도커 컴포즈 뿐만 아니라 하나의 이미지로 여러 컨테이너를 띄울수도 있는데 각각 컨테이너 마다 붙일 수 있는 식별값으로 생각하면 될것 같다.)
우분투를 해당 옵션으로 다시 실행하기 위해서는 일단 전에 바로 종료되었던 컨테이너를 삭제해야한다.
docker rm $(docker ps -a -q --filter name=myubuntu)
실행중인 컨테이너에 접근하는 명령어
docker attach [CONTAINER ID]
-it 옵션으로 컨테이너를 실행하면 /bin/bash프로그램이 실행되는데 그때 우분투에 접속해서 bash 프로그램과 상호작용할 수 있는 명령어이다.
'코딩이야기 > Docker' 카테고리의 다른 글
도커 입문 11강 docker volume 옵션으로 폴더 연결하기 (0) | 2024.06.14 |
---|---|
도커 입문 10강 - docker exec 명령어 변경 (1) | 2024.06.13 |
도커 입문 8강 - 모든 이미지 한번에 삭제하는 명령어 (0) | 2024.06.10 |
도커 입문 7강 - 컨테이너 포트포워딩 및 데몬으로 실행 (0) | 2024.06.07 |
도커 입문 6강. 컨테이너 실행하기 (0) | 2024.06.05 |