도커 파일의 이름이 도커 파일이 아닌 경우 도커 파일을 작성하려면 어떻게 해야 합니까?
다음과 같은 도커 파일을 빌드할 수 있습니다.
docker build -t deepak/ruby .
그러나 이름이 지정되지 않은 도커 파일의 경우Dockerfile
# DOCKER-VERSION 0.4.8
FROM deepak/ruby
MAINTAINER Deepak Kannan "deepak@example.com"
RUN ./bin/rails s
라고 합니다.Dockerfile.app우리가 구축하는 것.
docker build -t deepak/app Dockerfile.app
그러면 나는 오류를 이해합니다.
Uploading context 0 bytes
Error build: EOF
EOF
점이 있습니다..두 명령어의 끝에 표시됩니다.
docker build -f MyDockerfile .
또는 태그가 있는 경우:
docker build -t mysuperimage -f MyDockerfile .
효과적인 제품
docker build -t doronaviguy/helloworld -f SomeDockerFile .
도커 빌드의 마지막 매개 변수는 다음과 같은 경우 빌드 경로입니다..이것은 당신이 찾을 수 있는 경로라는 것을 의미합니다.Dockerfile로 변경할 때Dockerfile.app그러면 그것은 노력하고 찾을 것입니다.Dockerfile.app/Dockerfile그것은 정확하지 않습니다.
아직도 효과가 있을지는 모르겠지만 예전에는 이렇게 할 수 있었습니다.
$ docker build -t deepak/app - < Dockerfile.app
이 기능을 사용하여 도움이 되는지 확인하고 도움이 되지 않으면 도커 문제를 열어 이 기능을 다시 추가하거나 다른 이름으로 도커 파일을 사용하는 방법에 대한 설명서를 업데이트할 수 있습니다.
자세한 내용은 http://docs.docker.io/en/latest/commandline/command/build/ 에서 확인할 수 있습니다.
도커 피드를 사용해 보십시오.도커 기능을 사용하여 stdin을 통해 컨텍스트를 구축합니다.저는 제 자신이 직면한 당신의 문제를 정확히 해결하기 위해 대본을 썼습니다.
도커 파일을 다른 파일로 바꾸려면 다음과 같이 합니다.
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
그리고 voila.도커피드는 다음과 같은 작업을 수행합니다.docker build원본을 Docker 파일로 패킹하지만 이전 Docker 파일을 원하는 파일로 교체할 수 있습니다.프로세스에서 파일이 생성되지 않고 원본이 변경되지 않습니다.생성된 tar 아카이브는 도커에 파이프로 연결되고, 도커 데몬으로 전송됩니다.
업데이트: 이전에는 유효한 답변이 없었습니다.-f스위치를 사용할 수 있습니다.도커 버전 1.5에서 이 옵션이 도입되었습니다.이제 다음과 같은 다른 도커 파일을 빌드할 수 있습니다.
docker build -f other-Dockerfile .
이게 효과가 있을 겁니다
docker build -t <tag-name> -f <file-name> .
도커 합성을 사용하여 이 값을 얻을 수도 있습니다.
build 섹션 아래에 있는 docker-compose.yml에서 다음과 같이 docker 파일을 저장할 디렉터리와 대체 이름을 지정할 수 있습니다.
build:
context: "/path/to/docker/directory"
dockerfile: "dockerfile-alternate-name"
Windows 사용자는 다음 명령을 시도해야 합니다.
도커 빌드 -f absolute_domplicer_file_path dot
예:
도커 빌드 -f D:\Code\core-api\API_TEST.도커 파일.
여러 개인 경우Dockerfiles, 대규모 프로젝트의 경우와 마찬가지로 각 완전한 자격을 지정할 수 있습니다.Dockerfile사용할 수 있습니다.
docker build -t swagger_local -f /Users/123456/myrepos/storage/services/gateway/swagger/Dockerfile .
음에서실때명령에서 할 때의 /Users/123456/myrepos/storage를 생성합니다.swagger_local를한이지를 Dockerfile하위 프로젝트에서(services/gateway의 경우
의 경우는 ./tmp디렉터리와 많은 파일이 있고 내가 통과했지만 다른 파일로 도커를 시도합니다.-f <Dockerfile.foo>
(은 ()입니다.dockerfeed위 답변에서):
cat DockerFile.debian.foo | docker build -t debian.foo -
도커 합성 및 도커 기계를 포함한 도커 도구 상자를 성공적으로 설치했다고 가정합니다.이것은 나의 도커 컴포지.yml입니다.
version: '2'
services:
web: ./www/python
ports:
- "5000:5000"
그리고 이건 도커 파일 아래에 있습니다.
FROM python:3.4-alpine
ADD ./www/python /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
루트 폴더 아래에 파일이 정확히 있는지 확인합니다.도커 합성을 실행하면 웹용 이미지를 빌드하게 됩니다.
파일 옵션에 전체 경로를 입력하면 효과가 있습니다.
(meta_learning) brandomiranda~ ❯ docker build -f ~/iit-term-synthesis/Dockerfile_arm -t brandojazz/iit-term-synthesis:test_arm ~/iit-term-synthesis/
[+] Building 43.8s (9/28)
=> [internal] load build definition from Dockerfile_arm 0.0s
=> => transferring dockerfile: 2.59kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/continuumio/miniconda3:latest 0.0s
=> [ 1/24] FROM docker.io/continuumio/miniconda3 0.0s
=> CACHED https://api.github.com/repos/IBM/pycoq/git/refs/heads/main 0.0s
=> [ 2/24] RUN apt-get update && apt-get install -y --no-install-recommends ssh git m4 libgmp-dev opam wget ca-ce 14.9s
=> [ 3/24] RUN useradd -m bot 0.2s
=> [ 4/24] WORKDIR /home/bot 0.0s
=> [ 5/24] ADD https://api.github.com/repos/IBM/pycoq/git/refs/heads/main version.json 0.0s
=> [ 6/24] RUN opam init --disable-sandboxing 28.6s
=> => # [ocaml-base-compiler.4.14.0] downloaded from cache at https://opam.ocaml.org/cache
=> => # <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
=> => # ∗ installed base-bigarray.base
=> => # ∗ installed base-threads.base
=> => # ∗ installed base-unix.base
=> => # ∗ installed ocaml-options-vanilla.1
이것은 나에게 실패했습니다.
(meta_learning) brandomiranda~ ❯ docker build -f Dockerfile_arm -t brandojazz/iit-term-synthesis:test_arm ~/iit-term-synthesis/
[+] Building 0.0s (1/2)
=> ERROR [internal] load build definition from Dockerfile_arm 0.0s
=> => transferring dockerfile: 40B 0.0s
------
> [internal] load build definition from Dockerfile_arm:
------
failed to solve with frontend dockerfile.v0: failed to read dockerfile: error from sender: open .Trash: operation not permitted
언급URL : https://stackoverflow.com/questions/17466699/how-do-i-build-a-dockerfile-if-the-name-of-the-dockerfile-isnt-dockerfile
'programing' 카테고리의 다른 글
| dataType vs accepts - Ajax 요청 (0) | 2023.08.17 |
|---|---|
| JQuery Datatables : 정의되지 않은 'aDataSort' 속성을 읽을 수 없습니다. (0) | 2023.08.17 |
| 다른 이름으로 저장 대화 상자에서 선택한 파일을 저장하는 방법은 무엇입니까? (0) | 2023.08.17 |
| 수정된 라인만 표시하는 Gitdiff (0) | 2023.08.17 |
| Gradle 버전을 어떻게 결정합니까? (0) | 2023.08.17 |