.env 파일을 Docker 매개변수로 변환

.env 파일을 Docker 매개변수로 변환

일반 파일이 있고 .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수 있습니다 .sede

sed 's/^/-e /;H;1s/^/docker run myimage /;1h;$!d;x;s/\n/ /ge' your.env

-e옵션과 docker 호출을 사용하여 예약된 공간에 라인을 수집하고 마지막 라인에서 전체 명령을 실행합니다.

관련 정보