Dockfile 에 대한 쓰기
4393 단어 Docker
Dockerfile:
FROM nginx
RUN echo ' nginx ' > /usr/share/nginx/html/index.html
RUN
RUN ["test.php", "dev", "offline"]
등가 test.php dev offline
docker 는 줄 마다 한 층 씩 새로 만 듭 니 다. 너무 많은 층 을 피하 기 위해
&&
명령 을 한 줄 로 줄 입 니 다.FROM centos
RUN yum install wget
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xvf redis.tar.gz
3 。 :
FROM centos
RUN yum install wget \
&& wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
&& tar -xvf redis.tar.gz
[root@localhost dockerdir]# docker build -t imagetest:test .
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM nginx
---> 8cf1bfb43ff5
Step 2/2 : RUN echo ' nginx ' > /usr/share/nginx/html/index.html
---> Using cache
---> 2611d7938c46
Successfully built 2611d7938c46
Successfully tagged imagetest:test
[root@localhost dockerdir]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
imagetest test 2611d7938c46 2 hours ago 132MB
twilight/nginx ali 378d7ca4a813 3 hours ago 229MB
mysystem tags 1c174e9fbdee 3 hours ago 64.2MB
ubuntu 18.04 2eb2d388e1a2 6 days ago 64.2MB
nginx latest 8cf1bfb43ff5 9 days ago 132MB
training/webapp latest 6fae60ef3446 5 years ago 349MB
[root@localhost dockerdir]#
docker build
컨 텍스트 경로 의 모든 파일 을 엔진 에 포장 하여 보 낼 수 있 기 때문에 컨 텍스트 경 로 는 쓸모없는 파일 을 넣 지 못 하고 실행 과정 이 느 릴 수 있 습 니 다.지령
COPY [--chown=:] ["",... ""]
: 목적 경로 가 존재 하지 않 으 면 자동 으로 생 성 됩 니 다.경로 지원 어댑터.ADD
용법 은 COPY
과 일치 합 니 다. 다른 점 은 원본 파일 이 gzip, bzip2, xz
형식 으로 자동 으로 압축 을 풀 고 대상 경로 로 복 사 됩 니 다.CMD ["","","",...]
또는 CMD
용기 구축 완료 후 실행 하 는 명령docker run -it ubuntu
의 명령 으로 덮어 쓸 수 있 습 니 다.ENTRYPOINT ["","","",...]
또는 ENTRYPOINT
CMD 와 효과 가 많 지 않 지만 항상 실행 되 거나 교체 된다.ENTRYPOINT ["nginx", "-c"]
하면 docker run
뒤에 있 는 매개 변 수 는 nginx -c
뒤에 추 가 됩 니 다 ENTRYPOINT ["nginx", "-c"]
과 CMD [""]
을 동시에 사용한다 면 CMD 의 내용 도 ENTRYPOINT 의 뒤에 추 가 될 것 이다 --entrypoint
통 해 덮어 쓰기 ENV
또는 ENV = =
: 정 의 된 환경 변 수 는 build 와 run 에서 $var
형식 으로 참조 할 수 있 습 니 다 ARG
는 ENV 역할 과 같 지만 Dockerfile 내 에서 만 효력 이 발생 하여 docker build --build-arg key=value
에서 덮어 쓸 수 있다 VOLUME ["", ""...]
데이터 볼 륨 자동 마 운 트 EXPOSE [...]
성명 포트, 설정 이 편리 합 니 다 WORKDIR
디 렉 터 리 는 이미 존재 해 야 합 니 다. 미 러 를 구축 하 는 모든 층 에 이 디 렉 터 리 가 존재 합 니 다.USER [:]
전환 사용자 ONBUILD
이번 에는 실행 되 지 않 지만 새로운 Dockerfile 이 이 미 러 를 인용 하면 ONBUILD 가 지정 한 명령 참고 자료
https://www.runoob.com/docker/docker-dockerfile.html https://blog.csdn.net/shunfa888/article/details/79373840
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
첫 번째 Docker for Mac참고 , 나는 옆에 있는 Mac에 Docker를 설치하고 컨테이너를 세워 보고 싶다. Docker Hub를 처음 사용할 때는 계정을 만들어야 합니다. Docker.dmg을 실행하면 Docker가 설치됩니다. Dock...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.