본문 바로가기
DevOps/Docker

[Docker] 도커 명령어 사용해보기

by doongjun 2021. 12. 12.

2021.08.22 - [DevOps/Docker] - [Docker] 도커 네트워크

 

[Docker] 도커 네트워크

도커가 없이 웹서버를 사용한다면 두개의 컴퓨터가 필요할 것이다. 웹 브라우저에서 url을 입력하면 해당 포트번호에 맞는 80번 포트에 대기중인 Web Server로 요청이 전달된다. Web Server는 usr/local/ap

doongjun.tistory.com

이전 포스팅에서 도커 컨테이너 내의 웹 서버를 실행시켜보았다.

이번에는 도커의 명령어를 사용해서 index.html을 수정해보자.

 

https://hub.docker.com/_/httpd

 

Httpd - Official Image | Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

위 링크에서 확인해보면 아래 경로에 사용자가 요청한 웹페이지를 보관하도록 약속되어있다.

FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/

index.html에 접근하기 위해서 컨테이너에 접속하여 위의 경로로 이동하는 명령어와 수정하는 명령어 등을 사용해야 할텐데, 컨테이너에 명령어를 전달하기 위해서는 아래 명령어를 사용한다.

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

옵션들은 https://docs.docker.com/engine/reference/commandline/exec 에서 확인할 수 있다.

 

docker exec

docker exec: The `docker exec` command runs a new command in a running container. The command started using `docker exec` only runs while the container's primary process (`PID 1`) is...

docs.docker.com

 

명령어를 숙지했다면, index.html 파일을 수정해보자.

1. 현재 가동중인 컨테이너 확인

docker ps

2. ws2 컨테이너에 접속

docker exec -it ws2 /bin/bash

3. htdocs로 이동하여 조회해보면 index.html파일이 있는 것을 확인할 수 있다.

cd htdocs
ls -al

4. index.html 를 수정하기 위해서는 nano에디터가 필요하다. 

나노 에디터 설치

apt update
apt install nano

나노 에디터 실행

nano index.html

5. 위 파일을 Hello, Docker!로 수정하고 저장 후에 다시 접속해보면 정상적으로 수정된 것을 확인할 수 있다!

하지만, 위처럼 직접 수정한다면 불편하고 위험한 일들이 발생할 수 있다.

예를 들어, 컨테이너의 파일 시스템 안에 있는 index.html을 수정했는데, 컨테이너가 사라지게 된다면 작업한 내용이 물거품이 된다. 컨테이너는 필요할 때 생성, 삭제가 편하기 때문에 좋은 기술인데 컨테이너 생성과 삭제에 많은 비용이 들어간다면 그 장점이 사라질 것이다.

컨테이너 File System의 /usr/local/apache2/htdocs/ 와 Host File System의 /Desktop/htdocs/ 디렉토리를 연결하고 Host쪽에서 수정이 이뤄졌을 때 그것이 컨테이너 파일시스템에 반영될 수 있다면 컨테이너가 사라지더라도 소스코드는 여전히 호스트에 남아있기 때문에 보다 안전하게 개발을 지속 할 수 있을 것이다.

즉, 실행환경은 컨테이너에게 맡기고 파일을 수정하는 작업은 Host에서 진행하는 것이다.

아래와 같이 -v 옵션을 사용하여 위 이미지처럼 도커를 실행할 수 있다.

docker run -p 8888:80 -v C:\Users\skrdu\Desktop\htdocs\:/usr/local/apache2/htdocs/ httpd

 

 

나노 에디터 사용법

https://junistory.blogspot.com/2017/08/nano.html

 

nano에디터 소개 및 사용법

Web개발, 웹디자인, 웹기획, IT정보, 여행정보, 맛집정보등에 대해 공유하는 블로그 입니다.

junistory.blogspot.com

아래 주소에서 다양한 명령어들을 확인해볼 수 있다.

https://docs.docker.com/reference

 

Reference documentation

 

docs.docker.com

 

'DevOps > Docker' 카테고리의 다른 글

[Docker] 도커 네트워크  (0) 2021.08.22
[Docker] 도커 Image, Container  (0) 2021.08.19
[Docker] 도커 입문  (0) 2021.08.19

댓글