2014-10-01 2 views
0
나는 주위를보고 있었다

나는이 하나 같이 고정 표시기 컨테이너에서 실행하여 HelloWorld의 간단한 예를 본 다음 Dockerfile의 끝에서 http://dotnet.dzone.com/articles/docker-%E2%80%98hello-world-mono통과 매개 변수

을, 저자는 호출

CMD  ["mono", "/src/hello.exe"] 

콘솔 앱을 빌드 할 때 재사용 가능한 이미지를 갖고 싶습니다. Dockerfile을 사용하여 고정 이미지에 고정시킵니다. 그 부분은 나에게 의미가있다. 하지만 ConsoleApp 매개 변수를 전달할 수 있기를 원합니다. 그게 가능하니? 예를 들어

, -n은 내 helloworld를 응용 프로그램에 정의 된 매개 변수를했다

sudo docker run crystaltwix/helloworld -n "crystal twix" 

.

답변

2

CMD foo 대신 ENTRYPOINT foo을 사용할 수 있습니다. docker run 이후의 모든 인수는 foo에 전달됩니다.

+0

[ "foo"]와 같은 배열 형식을 사용하지 않으면 (Docker 1.7) 어떤 이유로이 기능이 작동하지 않습니다. –

3

@ seanmcl의 대답은 가장 간단합니다 ... 응용 프로그램 키와 같은 비밀 값을 전달해야 할 경우 프로세스 목록이 노출되는 것에 대해 걱정해야 할 수도 있습니다 ... 그래서 응용 프로그램에서 환경 변수를 사용할 수 있습니다 시작시 :