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

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

뻘짓의초심자 1144

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
번호 제목 글쓴이 날짜 조회 추천
Gaming Linux OS Garuda Linux 설치해보기. 1 달소 15시간 전06:46 97 +1
Proxmox 8 레포 설정 및 패키지 설치방법. (The enterprise repository is enabled, but there is no active subscription!) 1 달소 16시간 전05:50 119 +6
invidious 유튜브 프록시 서버 14 keiminem 1일 전17:43 267 +3
3687
image
달소 16시간 전05:50 119 +6
3686
image
달소 16시간 전05:20 226 0
3685
image
keiminem 1일 전17:43 267 +3
3684
normal
purndal 1일 전14:32 205 0
3683
image
달소 1일 전10:03 232 0
3682
normal
keiminem 1일 전09:29 274 0
3681
normal
kmw_ 1일 전09:11 134 0
3680
normal
환경설정 2일 전13:31 372 0
3679
image
지축또타 2일 전23:02 313 +1
3678
image
ljr10 3일 전20:47 358 0
3677
image
양미 3일 전18:34 175 0
3676
file
몰래컴퓨터 3일 전00:30 166 0
3675
image
무백 4일 전21:45 177 0
3674
normal
kmw_ 5일 전21:52 558 0
3673
normal
ljr10 5일 전21:18 156 0
3672
image
달소 5일 전19:06 114 0
3671
image
달소 5일 전18:33 203 +1
3670
image
달소 5일 전18:09 240 0
3669
image
달소 5일 전17:40 280 +2
3668
normal
까칠한나그네 5일 전15:44 106 0