[Docker] 4. 명령어 실행

좡좡·2024년 10월 3일
0

DockerStudy

목록 보기
5/8

서버를 이용하기 위해서 컨테이너를 수정하기!


간단한 명령어 수행

Docker desktop


ws2를 실행한다.


terminal을 실행시킨다.


terminal에

pwd

를 입력하여서 경로를 확인한다.
이 경로는 host가 아닌 container안에서 실행시킨 것이다.

ls -al

을 실행시키면 현재 container가 가지고 있는 폴더들을 확인할 수 있다.

CMD

  • 기존에 있는 container(ws3) 실행

    cmd창을 실행시키고
docker start ws3

실행시키고 싶은 container(기존에 있을 때)를 실행시기고

docker ps

를 입력하여 현재 실행되고 있는 container목록을 확인한다.

docker exec ws3 pwd

현재 container에서 실행시키고 싶은 명령어를 뒤에 붙여서 실행한다.

sh로 실행했을 때

  • sh로 실행했을 때
    bash로 실행했을 때
  • bash로 실행했을 때

만약 container와 지속적으로 연결하면서 명령어를 전달하고 싶을 때는

docker exec -it ws3 /bin/sh
또는
docker exec -it ws3 /bin/bash

- it
i : interactive / t : tty

를 입력한다.
그럼 #이 뜨게 되는데, 이는 ws3 container를 대상으로 해서 내려지는 명령이라는 뜻이다.


실행하면 docker desktop에서 ws3의 terminal창에서 실행했던 결과와 같은 결과가 나오는 것을 확인할 수 있다.


컨테이너를 나오고 싶다면

exit

를 작성해주면 된다.


웹서버의 container수정해보기

현재 웹서버 경로 "http://localhost:8000/index.html"

index.html 수정해보기

현재 사용하는 image인 Apache 웹서버에서 index.html 파일이 어디에 있는지 알 수있다.

/usr/local/apache2/htdocs/

cd /usr/local/apache2/htdocs/
ls -al

cd(change directory)를 사용하여서 해당 경로로 들어간 뒤 파일 목록을 살펴본다.
index.html이 존재하는 것을 확인할 수 있다.


container는 가벼운 것이 덕목이기 때문에 nano(쉘 기반의 텍스트 편집기) 명령어가 존재하지 않는다.

nano 설치하기

apt update
apt install nano


nano를 설치 후 다시

nano index.html

을 실행하면 위와 같은 화면이 나오게 된다.


내용을 수정하고 ctrl+x, ctrl+y를 차례로 눌러준다.


새로고침을 눌러주면 화면이 바뀐 것을 확인할 수 있다!

하지만 이렇게 변경하는 방법은 굉장히 위험하다! -> 컨테이너가 사라지면 우리가 편집했던 모든 것들이 날아가기 때문!

때문에 위와 같이 실행환경은 container에게 맡기고, 파일을 수정하는 작업하는 것은 host에게 맡기는 방법을 알아보도록 하자!


Host에서 수정하기


vscode에 있는 docker를 다운 받고, vscode에서 진행해보도록 하겠다.(필수 아님!)


기존에 만들어 놓은 html파일을 가지고 실습을 진행해보도록 하겠다.

아래의 명령어를 terminal창에서 실행시킵니다.

docker run -p 8000:80 -v (html파일 경로):/usr/local/apache2/htdocs/ httpd 

-p : port
-v : volume

'/usr/local/apache2/htdocs/'는 index.html를 찾기 때문에 파일 이름을 index.html로 바꿨습니다.


실행결과 이렇게 나오는 것을 볼 수 있습니다.

만약 해당 포트번호에 해당하는 컨테이너가 미리 실행중이라면 오류가 발생할 수 있으니 포트번호를 잘 확인하시고 실행하시면 됩니다.!


출처

profile
징기징지깅기 좡가좡가좡가

0개의 댓글