웹 요청을 보내고 그에 대한 로그를 생성하는 애플리케이션은 요청에 대한 응답 시간을 파악할 수 있다는 점에서 유용하다. 이는 웹 사이트의 동작 여부를 확인하는 용도로도 활용할 수 있다. 그러나 이 애플리케이션에는 요청 대상이 나의 블로그 주소로 고정돼 있는 듯하니 나 이외의 사람에게는 그리 쓸모가 없을 것 같다.
하지만 애플리케이션에서 대상 URL과 요청 간격, 요청 타입 등을 설정할 수 있다. 시스템의 환경 변수 값에서 설정값을 읽어 온다.
환경 변수(environment variable)는 운영체제에서 제공하는 키-값 쌍이다. 윈도나 리눅스나 같은 방식으로 동작하며, 아주 적은 양의 데이터를 저장하는 데 유용하다. 도커 컨테이너도 별도의 환경 변수를 가질 수 있다. 그러나 이 환경 변수는 호스트 운영체제의 것을 가져오는 게 아니라 컨테이너의 호스트명이나 IP 주소처럼 도커가 부여해 준다.
web-ping 이미지에도 이 환경 변수의 기본값이 포함돼 있다. 컨테이너를 실행하면 도커가 이들 기본값을 컨테이너에 적용하고 이 값을 애플리케이션에서 사용한다. 컨테이너를 생성할 때 기본값과 다른 값을 환경 변수로 설정할 수도 있다. 환경 변수 값을 변경하면 애플리케이션의 동작 내용도 바뀐다.
실습 실행 중인 컨테이너를 삭제하고 환경 변수 TARGET의 값을 다른 값으로 지정한 새로운 컨테이너를 실행하라.
docker rm -f web-ping docker container run --env TARGET=google.com diamol/ch03-web-ping