명령어 실행

Category
스터디노트 Docker
Status
Published
Tags
Docker
Container
Description
Published
Slug
notion image
 
index.html이라는 파일을 편집해서
웹 서버를 이용하는 웹 앱을 만들어야 함
 
그러기 위해서는 container 안으로 들어가서, 수정할 수 있어야 함
 

Docker desktop을 이용하는 방법

 
ws2에서 cli라는 버튼을 찾아서 실행시키면, 터미널이 실행됨
notion image
 
여기서 pwd를 하면,
host에서 pwd를 한 것이 아니라, 그 conatiner 안으로 들어가서 pwd를 실행한 것임
notion image
 
ls -al를 하면 컨테이너 안에서 파일들을 보여주는 것임
notion image
 

Command Line을 이용하는 방법

command line은 docker exec라는 명령어를 사용함
→ excute
docker exec [옵션] [명령을 전달하고 싶은 컨테이너의 이름] [실행시키고 싶은 명령어] [파라미터]
notion image
 
ws3로 하고 싶다면
docker exec ws3 pwd
notion image
 
하지만, 컨테이너와 지속적으로 연결을 유지하면서, 명령을 전달하고 싶을 때는
docker exec -it ws3 /bin/sh
 
docker exec: 실행 중인 컨테이너에서 명령을 실행하는 Docker 명령어입니다.
-it: 이 두 개의 플래그는 다음과 같은 의미를 가집니다:
-i: "interactive"의 약자로, 표준 입력(STDIN)을 활성화하여 사용자가 컨테이너에 명령을 입력할 수 있도록 합니다.
-t: "tty"의 약자로, 가상 터미널을 할당하여 명령줄 인터페이스를 더 사용자 친화적으로 만들어 줍니다.
ws3: 명령을 실행할 대상 컨테이너의 이름 또는 ID입니다. 여기서는 ws3라는 이름의 컨테이너를 지정하고 있습니다.
/bin/sh: 컨테이너 내에서 실행할 프로그램입니다. /bin/sh는 Unix 및 Linux 시스템에서 사용되는 기본 셸입니다.
결과적으로, 이 명령어를 실행하면 ws3 컨테이너 내에서 상호작용할 수 있는 셸 세션이 열리게 되어, 사용자는 해당 컨테이너의 파일 시스템에 접근하고 명령을 입력할 수 있게 됩니다.
 
셸이라고 불리는 프로그램들이 하는 역할은
사용자가 입력한 명령을 셸 프로그램이 받아서 운영체제에게 전해주는 일종의 창구 역할임
notion image
 
지금부터 내리는 명령은 ws3컨테이너를 대상으로 내려지는 명령이고, 실행 결과가 보여지게 됨
 
연결을 끊고 밖으로 나가고 싶을 때는
exit를 입력
notion image
 
docker exec -it ws3 /bin/sh
요즘에는 위보다는 아래의 bash shell을 많이 쓰는데,
쓰는 컨테이너에 따라서 bash shell이 없는 경우도 있음. 그럴때는 sh를 쓰면 됨
docker exec -it ws3 /bin/bash
 

웹서버의 index.html파일을 수정하려면
메뉴얼등을 보면, index.html파일등이 어디에 위치되었는지 정보를 확인할 수 있음
 
아래의 경로에 ‘사용자가 요청한 웹페이지를 보관하도록 약속되어 있다’고 나와있음
notion image
 
ws3에 들어가고, 실행이 유지되도록, -it옵션으로 설정
메뉴얼에 있는 것과 같이, cd를 통해 경로를 이동
이후 ls -al을 통해 파일들을 조회해 보니
notion image
 
mini나 nano를 쓰려고 하면 안되는데,
컨테이너는 용량을 최소화 하려고 되어있기 때문에, 따로 설치해줘야 함
apt update를 하면, apt를 최신 상태로 갱신시킴
이후 apt install nano를 하면 nano 에디터가 설치가 됨
notion image
 
그러면 이제
nano index.html 명령어를 통해서, 파일을 수정할 수 있게 됨
notion image
 
내용을 바꾸고
ctrl x - y - enter
reload를 하면 내용이 바뀌어 있는 것을 확인할 수 있음
notion image