• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

[도커팁] 환경변수의 특수문자 escape

뻘짓의초심자 1134

3

5

가끔씩 이유는 모르지만 환경변수, 그 중에서도 비밀번호에 특히 특수문자를 쓰고 싶을 때가 있습니다.

하지만 일부 특수문자는 도커 실행 중 오류를 일으키기도 합니다.

 

여기서는 대시보드 서비스 중 하나인 flame을 예시로 들어보겠습니다.

flame의 경우 도커 시작 시 비밀번호를 설정하게 됩니다.

만약 비밀번호를 "!@#$%^&"로 하고 싶다면 다음과 같이 간단한 방식으로 시작할 수 있을 것입니다.

 

(여기서는 raspberry pi로 실험했기 때문에 multiarch2.3.0 태그가 붙어 있습니다)

docker run -d 5005:5005 -e PASSWORD=!@#$%^& pawelmalak/flame:multiarch2.3.0

그러나 이것은 다음과 같은  오류를 내뿜습니다.

bash: !@#: event not found

이것은 특수문자 때문에 중간부터 제대로 인식을 못하기 때문입니다.

 

해결 방법은 다음과 같습니다.

환경 변수 전체를 작은 따옴표('')로 감싸주시면 됩니다.

docker run -d -p 6005:5005 -e 'PASSWORD=!@#$%^&' pawelmalak/flame:multiarch2.3.0

이렇게 하면 정상 작동합니다.

 

참고로 큰 따옴표("")로 감싸시면 똑같은 오류를 내뿜습니다.

# docker run -d -p 7005:5005 -e "PASSWORD=!@#$%^&" pawelmalak/flame:multiarch2.3.0
bash: !@#: event not found

 

 

음... 이런 글을 쓸때마다 언제나 생각하는 건데 항상 너무 쉬워서 저만 모르고 있었나 싶기도 합니다.

신고공유스크랩
5
뻘짓의초심자 글쓴이 2022.04.24. 01:44
달소

정확히 말하면 몇몇의 특수문자가 안 됩니다. 느낌표(!)는 되는데 다른 몇 개가 안되는 것으로 보입니다.

npm에서 htpasswd같은 기능을 구현할 때도 나타나는 증상인 걸 보면 리눅스 자체에서 아예 다르게 처리하는 것 같기도 합니다.

3등
KelvinKang 2022.04.26. 11:38

아무리 간단한 컨테이너 라도 Docker-Compose로 만드시는걸 추천 드립니다.

컨테이너 삭제하고 재실행 할때 옵션 기억이 안나는 경우가 많거든요..

 

그래서 yml로 만들어 두고 하면 나중 버젼 관리하기도 편리하고, 패스워드 같은것을 환경변수로 분리해서 가져올수도 있어 좋습니다.

게다가 가끔 스페셜한 -v 옵션을 사용해야 할 경우에도 유용합니다.

GUI 에서 -v 옵션을 지원안해서 특시 시놀로지에서 Docker 실행시 Portainer를 설치 못하는게 sockek을 -v 로 연결해줘야 하는데 지원을 안하거든요..

뻘짓의초심자 글쓴이 2022.04.27. 07:23
KelvinKang

조언 감사합니다.

저도 한때는 yml을 즐겨 썼는데 테스트용으로 지우고 다시 만들고를 반복하니 run 방식이 더 편리하더 군요 ㅋㅋ;;

지금은 주로 docker폴더에 txt파일로 남기고 있습니다.

yml도 쓰긴 하는데 패키지로 설치할 때나 특수한 경우에 주로 사용 중입니다.

시놀로지에 대해서는 자금 사정이 괜찮아지면 고려해보는 걸로... 쿨럭...

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
후기 서버포럼 덕분에 proxmox 이사 완료 했습니다 ㅎㅎ 5 N4100 3일 전18:56 380 +3
가이드 SAS3008 칩셋 카드 IT 펌웨어 먹이기 4 펜타네스트 3일 전18:39 276 +1
후기 오랜만에 immich 이미지 업데이트 후기/가이드(?). 1.86 -> 1.101 3 달소 5일 전21:35 271 +1
3842 질문
normal
bass9030 3시간 전00:43 20 0
3841 잡담
normal
칼룬 9시간 전18:12 96 0
3840 질문
normal
늘맑음 12시간 전15:10 123 0
3839 질문
image
게르노 15시간 전12:26 47 0
3838 잡담
normal
bong90a 17시간 전10:50 274 0
3837 후기
image
추주비 17시간 전10:33 180 0
3836 질문
normal
angrynerd 1일 전14:11 360 0
3835 오픈소스
image
달소 3일 전23:00 348 0
3834 후기
normal
N4100 3일 전18:56 380 +3
3833 가이드
file
펜타네스트 3일 전18:39 276 +1
3832 질문
image
똥쓰똥쓰 3일 전17:02 259 0
3831 후기
image
동도리군 3일 전10:27 297 0
3830 질문
image
칼룬 4일 전11:56 74 0
3829 질문
image
초보나스 4일 전11:13 311 0
3828 질문
image
kmw_ 5일 전22:29 203 0
3827 후기
image
달소 5일 전21:35 271 +1
3826 질문
normal
ljr10 5일 전21:33 167 0
3825 질문
normal
서버구축하자 5일 전16:35 157 0
3824 질문
image
서버가갖고싶어요 6일 전09:07 344 0
3823 질문
image
sH. 6일 전05:35 166 0