...
Code Block | ||
---|---|---|
| ||
FROM traefik:camembert-alpine
COPY traefik.toml /etc/traefik/traefik.toml #참조: http://wiki.thesanse.com/pages/viewpage.action?pageId=7340484
ENTRYPOINT ["traefik"] #참조: http://wiki.thesanse.com/pages/viewpage.action?pageId=7340487 |
Code Block | ||
---|---|---|
| ||
logLevel = "INFO"
[web]
address = ":8080"
[entryPoints]
[entryPoints.http]
address = ":80"
[file]
[backends]
[backends.backend1]
[backends.backend1.loadbalancer]
method = "wrr"
sticky = true
[backends.backend1.servers.server1]
url = "http://front-end:8079"
[frontends]
[frontends.frontend1]
backend = "backend1"
entrypoints = ["http"]
| ||
Info | ||
RUN보통 이미지 위에 다른 패키지(프로그램)를 설치하고 새로운 레이어를 생성할 때 사용한다. 다음은 ubuntu 이미지 위에 curl을 설치하는 예제이다.
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y \
curl \
nginx \
&& rm -rf /var/lib/apt/lists/* CMD
위와 같이 Dockerfile을 만들었을 때,
하지만, $ docker run -it --rm <image-name> echo "Hello"
Hello
$ ENTRYPOINT
"]
위 Dockerfile의 내용을 실행하면
$
shell form 으로 실행해야만 변수 등이 대체(substitution)된다.
위처럼 exec form으로 사용하면
정리그럼 CMD와 ENTRYPOINT는 어떤 경우에 사용해야 효과적일까? |