일반 파일이 있고 .env
이러한 변수(또는 일부)를 다음과 같이 Docker 컨테이너에 전달하려고 합니다.
.env 파일:
VAR1=blah
VAR2=some other blah
도커 명령:
docker run myimage -e VAR1=blah -e VAR2=some other blah
awk
또는 유사한 일반 Unix 명령을 사용하여 sed
이를 달성하려면 어떻게 해야 합니까?
답변1
노력하다
awk -F= '{printf "%s=\"%s\" ",$1,$2 ;}' file.env
변수 생성
도커 명령은
docker run myimahe $(awk -F= '{printf "-e %s=\"%s\" ",$1,$2 ;}' file.env) other
-e
다음 사항에 주의하시기 바랍니다 .
답변2
GNU를 사용하면 다음 플래그와 함께 명령을 실행할 sed
수 있습니다 .sed
e
sed 's/^/-e /;H;1s/^/docker run myimage /;1h;$!d;x;s/\n/ /ge' your.env
-e
옵션과 docker 호출을 사용하여 예약된 공간에 라인을 수집하고 마지막 라인에서 전체 명령을 실행합니다.