728x90
개요
Docker에서 바인드 마운트, 로그, COPY 명령어, ADD 명령어 등을 사용할 때 로컬 호스트의 전체 경로(절대 경로)를 지정해야 하는 경우가 많습니다.
예를 들어 바인드 마운트에서는:
docker run -v /home/user/projects/web-application:/app:ro
이런 긴 경로는:
- 가독성이 떨어집니다
- 타이핑 실수(인적 오류)가 발생하기 쉽습니다
- 다른 환경에서 재사용이 어렵습니다
- 경로가 변경될 때마다 수정이 필요합니다
위와 같은 대표적인 문제점들을 해결할 수 있는 리눅스 명령어가 바로 "${PWD}"있습니다.
${PWD} 란 ❓
먼저 리눅스의 pwd명령어는 현재의 작업 디렉토리를 출력해주는 명령어입니다. 리눅스에서는 이 pwd 명령어와 관련하여 두 가지 중요한 치환 문법이 있습니다.
- $() : 명령어 치환(Command Substitution)
- 명령어의 실행 결과를 치환
- 실제 명령어를 실행하고 그 출력을 사용
- ${} : 매개변수 치환(Parameter Expansion)
- 변수의 값을 치환
- 이미 설정된 변수 값을 참조
이를 기반으로, ${PWD}는 현재 작업 디렉토리(Present Working Directory)의 절대 경로를 담고 있는 환경 변수입니다.
이는 리눅스와 macOS에서 기본적으로 제공되는 변수로, 현재 위치한 디렉토리의 전체 경로를 간단히 참조할 수 있게 해줍니다.
${PWD} 실제 사용 예시
1. 복잡한 경로의 경우
docker run -v /var/www/html/my-wordpress-site/wp-content:/app
2. ${PWD} 사용
docker run -v ${PWD}:/app
리눅스의 매개변수 치환 문법 ${PWD}는 Docker에서 복잡한 경로 설정을 단순화하는 강력한 도구입니다.
${PWD}를 사용하면 긴 경로 대신 현재 작업 디렉토리를 자동으로 참조할 수 있어, 코드의 가독성이 높아지고 실수를 줄일 수 있습니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.01.13 - 자바에서 동일성과 동등성의 차이 이해하기 (0) | 2025.01.13 |
---|---|
[TIL, 일일 회고] 2025.01.12 - ${PWD}와 $(pwd) 차이점 알아보기 (0) | 2025.01.12 |
[TIL, 일일 회고] 2025.01.10 - Docker 볼륨의 우선순위: 익명 볼륨이 특정 경로를 보호할 수 있는 이유 (0) | 2025.01.10 |
[TIL, 일일 회고] 2025.01.09 - 익명 볼륨의 진짜 가치: 임시 저장소를 넘어선 특정 경로 보호 역할 (0) | 2025.01.09 |
[TIL, 일일 회고] 2025.01.07 - 헷갈리는 -v 옵션 정리하기: 바인드 마운트와 명명된 볼륨 (0) | 2025.01.07 |