컨테이너/도커

Docker 정리 (5) 명령어 실행

개발정리 2021. 8. 28. 17:15

ㄴ URL 을 통해 컨테이너에 접속 할 수 있고, 컨테이너 안에 있는 웹 서버가 파일 시스템 안에 저장되어 있는 index.html 을 화면에 보여줬다. 

 

단순히 보여주는것만이 아니라 웹 서버를 이용하는 웹 앱을 만드는 것이 중요한데 이를 위해서는 컨테이너 안으로 들어가 수정할 수 있어야한다. 

 

Docker Desktop 을 이용하여 컨테이너에 접속


Docker Desktop (GUI) 에서는 Container List 에서 CLI 라는 버튼을 클릭하면 터미널 창이 뜬다. 

이는 컨테이너의 터미널 창이고, 실제 ls -a 혹은 pwd 와 같은 명령어를 입력하여 보면 컨테이너에 존재하는 파일 리스트 혹은 현재 위치를 출력하여 준다.

 

 

 

명령어를 이용하여 컨테이너에 접속


대시보드가 아닌 명령어를 통하여 컨테이너 안으로 들어가고 싶다면 아래와 같은 명령어를 입력하자. 

 

$docker exec [OPTIONS] Container Command [ARG] 

 

  • $docker exec ws3 pwd
  • $docker exec ws3 ls -a

 

컨테이너와 지속적으로 연결하면서 명령을 전달하고 싶다면?

 

$docker exec ws3 /bin/sh 

 

뒤에 sh 는 쉘을 뜻하며, 쉘은 사용자가 입력한 명령어를 받아서 OS에 전달하는 역할을 한다. 

쉘 프로그램도 종류가 여러가지가 있어 bash 쉘 을 사용하려면 /bin/bash , 본 쉘을 사용하려면 /bin/sh 을 붙여주자.

쉘 종류는 선택이 가능하지만 컨테이너에 특정 쉘이 없다는 것을 유의하자. 

 

위와 같이 명령어를 입력하면 쉘이 연결되자 마자 끊어지므로 아래와 같이 명령어를 입력해야 한다. 

 

$docker exec -it ws3 /bin/sh 

 

-it 는 interactive 와 tty 의 약자인데 운영체제와 관련이 있다.

위 명령어를 통해 컨테이너에 접속하여 파일들을 수정&생성하여 어플리케이션을 만들 수 있다. 

 

exit 명령어를 통해 연결을 끊고 host 터미널로 돌아 갈 수 있다. 

 

* 참고 

 

파일을 수정하기 위해서는 vim 혹은 nano 와 같은 텍스트 에디터를 사용해야 하는데, 이때 apt 가 설치되어 있는지 확인 한 후 apt 를 이용하여 텍스트 에디터를 설치해주어야 한다.

 

 

 

참고강의


https://opentutorials.org/course/4781