도커 파일 이름 지정 방법
도커 파일의 이름을 지정하는 방법을 잘 모르겠습니다.이 깃허브를 합니다.Dockerfile
가 그들에게 내선번호를 요; 제가 그들에게 이름과 내선번호를 주나요? 그렇다면요?아니면 그냥 그들을 부를까요?Dockerfile
?
[정답 전문을 읽어주세요]hub.docker.com 에서 오토빌더를 사용하려면 도커 파일의 이름을 변경하지 마십시오.도커 파일에 확장자를 사용하지 말고 null로 유지합니다.파일 이름은 다음과 같아야 합니다(확장자가 전혀 없음).
Dockerfile
하지만 이제 도커 파일의 이름을 다음과 같이 지정할 수 있습니다.
test1.Dockerfile
$ docker build -f dockerfiles/test1.Dockerfile -t test1_app .
또는
Dockerfile.test1
$ docker build -f dockerfiles/Dockerfile.test1 -t test1_app .
이것도 효과가 있을 것입니다.
동일한 컨텍스트에 있는 여러 파일을 처리하는 경우 STDIN을 사용할 수 있습니다.
test1.Dockerfile
$ docker build -t test1_app - < test1.Dockerfile
dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
내가 사용하는 VS 코드에서<purpose>.Dockerfile
그리고 그것은 올바르게 인식됩니다.
저는 이것이 꽤 많은 답을 가진 오래된 질문이라는 것을 알지만, 공식 문서에 사용된 명명 규칙을 제안하는 사람이 없다는 것을 알고 놀랐습니다.
$ docker build -f dockerfiles/Dockerfile.debug -t myapp_debug . $ docker build -f dockerfiles/Dockerfile.prod -t myapp_prod .
빌드 (「 」 「 」 「 」 「 」 「 」로 지정).
.
의이 있는 경우 두입니다.Dockerfile
한 번은 프로덕션 버전을 사용합니다.
요약하자면, 다음과 같은 파일이 있는 경우Dockerfile
빌드 컨텍스트의 루트에서 자동으로 선택됩니다. Dockerfile
동일한 빌드 컨텍스트에 대해 제안되는 명명 규칙은 다음과 같습니다.
Dockerfile.<purpose>
이러한 도커 파일은 빌드 컨텍스트의 루트에 있거나 루트 디렉터리를 보다 깔끔하게 유지하기 위해 하위 디렉터리에 있을 수 있습니다.
컨테이너별로 Docker 파일(확장자 없음)이 있는 디렉토리가 있어야 한다고 생각합니다.예:
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
디렉터리 이름만 사용하여 빌드하면 도커가 도커 파일을 찾을 수 있습니다. 예:
docker build -f ./db .
같은 디렉터리에 두 개의 도커 파일을 만들었습니다.
# vi one.Dockerfile
# vi two.Dockerfile
두 Docker 파일을 모두 빌드하려면 다음과 같이 하십시오.
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
참고: 현재 작업 디렉토리에 있어야 합니다.
제가 그들에게 이름과 내선번호를 주나요? 그렇다면요?
Docker 파일의 이름은 원하는 대로 지정할 수 있습니다.기본 파일 이름은 다음과 같습니다.Dockerfile
(확장자 없음) 및 기본값을 사용하면 컨테이너 작업을 수행하는 동안 다양한 작업을 보다 쉽게 수행할 수 있습니다.
특정 요구 사항에 따라 파일 이름을 변경할 수 있습니다.예를 들어 여러 아키텍처를 구축하는 경우 resin.io 팀이 HAProxy 컨테이너에 대해 수행한 것과 같은 아키텍처를 나타내는 확장 기능을 추가할 수 있습니다. 멀티벤더 ARM 예제:
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
제공된 예에서 각 Docker 파일은 아키텍처별로 다른 업스트림 이미지로 빌드됩니다.빌드에 사용할 특정 도커 파일은 명령줄을 사용하여 컨테이너를 빌드할 때 옵션을 사용하여 지정할 수 있습니다.
hub.docker.com 에서 오토빌더를 사용하려면 다음과 같이 해야 합니다. Dockerfile
그래서 거기:)
이것은 사실인 것 같지만, 개인적으로 제가 보기에는 디자인이 부실한 것 같습니다.예, 기본 이름(확장자 포함)을 사용하지만 다른 이름을 허용하고 명령에 대한 도커 파일의 이름을 지정하는 방법을 사용합니다.
확장 기능을 사용하면 응용 프로그램을 해당 확장 유형에 연결할 수 있기 때문에 확장 기능도 유용합니다.MacOSX에서 Docker 파일을 클릭하면 이 파일이 유닉스 실행 파일로 처리되어 실행됩니다.
Docker 파일에 확장자가 있으면 OS에 특정 응용 프로그램(예: 내 텍스트 편집기 응용 프로그램)으로 시작하라고 말할 수 있습니다.확실하지는 않지만 현재 동작이 파일 권한과도 관련이 있을 수 있습니다.
Dockerfile
디렉터리당 하나의 도커 파일만 있는 경우에 좋습니다.동일한 디렉토리에 여러 개의 도커 파일이 필요한 경우 적절한 이유가 있을 경우 원하는 표준을 사용할 수 있습니다.최근 프로젝트에서는 환경이 충분히 다르기 때문에 AWS 도커 파일과 로컬 개발 환경 파일이 있었습니다.
Dockerfile
Dockerfile.aws
두 가지 주요 도커 파일 명명 규칙이 있습니다.
기본 도커 파일 사용:
단순성을 유지하기 위해 이 접근 방식은 단순하고 독립적이며 잘 정의된 프로젝트에 적합합니다.
$ docker build -f ./Dockerfile.Dockerfile .
사용자 지정 도커 파일 사용:
이를 사용자 지정 방식으로 유지하는 이 접근 방식은 개발자가 애플리케이션 컨텍스트를 숙지하고, 파일 조작을 용이하게 하며, 특히 여러 도커 파일의 경우 디버깅 기능을 향상시킵니다.
$ docker build -t <containername> . -f <mycustomdockerfile>.Dockerfile
친절한 주의사항:
이러한 규칙은 '도커 이미지 빌드' 및 '도커 합성 빌드'와 같은 일반적인 도커 이미지 빌드 명령에도 동일하게 적용됩니다.
도커 파일(사용자 지정 이름 및 폴더):
docker/app.Dockerfile
docker/nginx.Dockerfile
빌드:
docker build -f ./docker/app.Dockerfile .
docker build -f ./docker/nginx.Dockerfile .
언급URL : https://stackoverflow.com/questions/26077543/how-to-name-dockerfiles
'source' 카테고리의 다른 글
javascript Object.defineProperty를 사용하는 방법 (0) | 2023.08.19 |
---|---|
Android:Enum을 번들에 넣는 방법? (0) | 2023.08.19 |
Python 하위 프로세스."OSError: [Errno 12] 메모리를 할당할 수 없습니다"를 엽니다. (0) | 2023.08.19 |
jQuery: 텍스트 상자에 "숫자"만 입력하는 것을 제한하는 가장 좋은 방법은 무엇입니까?(소수점 허용) (0) | 2023.08.19 |
동적인 문자 양에 따라 글꼴 크기를 반응시키는 순수 CSS (0) | 2023.08.19 |