초보 개발자

docker 컨테이너 편집 본문

AI 웹개발 트랙 - 내배캠/9주차 ~

docker 컨테이너 편집

taehyeki 2022. 3. 7. 15:54

 

전에 만들어둔 아파치 컨테이너의 터미널 버튼을 누르면 어떤 터미널이 하나 실행이되고 거기서 pwd라고 치면 현재 디렉토리가 나온다

이건 host에서 pwd를 한 것이 아니라 container안으로 들어가서 pwd라는 명령어를 수행한 것이다.

이걸 cmd에서도 똑같이 해보자 

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

컨테이너 ws4를 대상으로 실행한 pwd명령어이다.

이렇게 하면 일회성에 지나지 않는다. 아까와 같이 container안의 터미널에 들어가서 실행하고 싶다면

아래와 같이 명령해주자

 

docker exec -it CONTAINER /bin/sh
docker exec -it CONTAINER /bin/bash

접속이 잘 된것을 확인할 수 있다. bash 쉘 명령어를 사용해보고 있다면 더 많은 기능을 제공하기에 bash를 사용하고 만약 없다면 sh를 사용하자!

나올때는 exit를 적어주면 이제 host를 대상으로 명령하도록 바뀐다. 

 

 

이제 container로 들어가서 index.html의 내용을 한번 수정해보도록 하자.

cd htdocs # 여기에 index.html 존재
apt update # vim 에디터가 설치가 안되어있어 설치하기 위해 업데이트
apt install vim # vim 에디터 설치
vim index.html # index.html 편집 시작

아래와 같이 수정을 하면

아래와 같이 잘 나타난 것을 확인할 수 있다.

 

 

 

 

근데 이렇게 직접 container안의 파일들을 수정하면 불편하고 위험할 수 있다.

아래와 같이 host쪽에있는 폴더와 container안에 있는 폴더를 연동시킨 뒤 그걸 읽어오도록 해준다면 만약 container가 사라져도 기존 파일들은 그대로 유지가 되어있을 것이다. 이렇게 하면 훨씬 더 편하게 작업을 할 수도 있다.

 

아래와 같은 명령어를 친 뒤에 컨테이너 안에 들어가서 index.html을 수정하면 docker/htdocs의 index.html내용이 수정이 되어있고, 반대로 docker/htdocs/index.html의 내용을 수정해도 container의 index.html내용이 바뀌어 있는걸 확인할 수 있다. 즉 연동이 되어있어 같은 폴더라고 생각하면 될 것 같다.

docker run -p 8888:80 -v ~docker/htdocs:/usr/local/apache2/htdocs httpd

 

'AI 웹개발 트랙 - 내배캠 > 9주차 ~' 카테고리의 다른 글

docker bind mount  (0) 2022.03.08
docker 이미지 만들고 docker hub에 올려보기 !  (0) 2022.03.07
docker network  (0) 2022.03.07
docker hub, pull, run  (0) 2022.03.07
docker란? docker설치  (0) 2022.03.07