dockerfile 상용 명령 상세 설명
7335 단어 dockerdockerfileweb
RUN echo helloworld
RUN[“程序名”,“参数1”,“参数2”]#可以免除运行/bin/sh的消耗,如果参数中引号等特殊字符,需要进行转义
2. copy & add
COPY /local/path/file /images/path/file
ADD file /images/path/file
ADD lasts.tar.gz /var/www
3. expose
expose 8080
4. CMD
CMD ["executable","param1","param2"] #CMD 的推荐格式。
CMD ["param1","param2"] #为 ENTRYPOINT 提供额外的参数,此时 ENTRYPOINT 必须使用 Exec 格式。
CMD command param1 param2 #Shell 格式
5. ENTRYPOINT
ENTRYPOINT ["executable", "param1", "param2"]# exec 这是 ENTRYPOINT 的推荐格式
ENTRYPOINT command param1 param2 #shell格式
비고:
#Exec 格式
#ENTRYPOINT 的 Exec 格式用于设置要执行的命令及其参数,同时可通过 CMD 提供额外的参数。
#ENTRYPOINT 中的参数始终会被使用,而 CMD 的额外参数可以在容器启动时动态替换掉。
#举例: Dockerfile 片段:
ENTRYPOINT ["/bin/echo", "Hello"]
CMD ["world"]
#当容器通过 docker run -it [image] 启动时,输出为:
Hello world
#而如果通过 docker run -it [image] haha启动,则输出为:
Hello haha
#Shell 格式
#ENTRYPOINT 的 Shell 格式会忽略任何 CMD 或 docker run 提供的参数。
6. ONBUILD
FROM ubuntu:14.04
ONBUILD RUN echo “you not see me later”
7. VOLUME
VOLUME [“/data”,”/data2”]
VOLUME /data
8. 기타 명령
USER
구축 사용자 설정
WORKDIR
RUN, CMD, ENTRYPOINT 및 COPY 와 AND 를 위 한 작업 디 렉 터 리 설정
ENV
미 러 환경 변 수 를 설정 합 니 다.build docker imag 과정 에서 유효 합 니 다. image 가 생 성 되 고 container 가 시 작 된 후에 도 환경 변수 로 서 유효 하 며 덮어 쓸 수 있 습 니 다.printenv 값 보기
# no default value
ENV hey
# a default value
ENV foo /bar
# or ENV foo=/bar
# ENV values can be used during the build
ADD . $foo
# or ADD . ${foo}
# translates to: ADD . /bar
# Use the following docker commands to set env
docker run -e "env_var_name=another_value" alpine env
docker run -e env_var_name alpine env
docker run --env-file=env_file_name alpine env
FROM
세 워 진 새 미 러 가 어떤 기본 미 러 에서 왔 는 지 밝 혀 줍 니 다.
FROM ubuntu:14.04
MAINTAINER
미 러 가 연락 처 를 유지 하고 있 음 을 표시 합 니 다.
ARG
미 러 를 구축 할 때 일부 인 자 를 지정 합 니 다. build docker imag 과정 에서 만 유효 합 니 다.
# In the Dockerfile
ARG some_variable_name
# or with a hard-coded default:
#ARG some_variable_name=default_value
RUN echo "Oh dang look at that $some_variable_name"
# In the shell command
docker build --build-arg some_variable_name=a_value
# Then you will get
Oh dang look at that a_value
ENV
# expect a build-time variable
ARG A_VARIABLE
# use the value to set the ENV var default
ENV an_env_var=$A_VARIABLE
# if not overridden, that value of an_env_var will be available to your containers!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.