Dockerfile의 이름을 지정하는 방법
Dockerfiles의 이름을 지정하는 방법을 잘 모르겠습니다. GitHub의 대부분 Dockerfile은 파일 확장자없이 사용 합니다. 나는 그들에게 이름과 확장자를 부여합니까; 만약 그렇다면? 아니면 그냥 전화를 Dockerfile하나요?
hub.docker.com에서 autobuilder를 사용하려는 경우 dockerfile의 이름을 변경하지 마십시오. 도커 파일에 확장자를 사용하지 말고 null로 두십시오. 파일 이름은 다음과 같아야합니다 (확장자 없음).
Dockerfile
그러나 아래와 같이 할 수도 있습니다 ...
dev.Dockerfile, uat.Dockerfile, prod.Dockerfile등
VS Code에서 사용할 수 있으며 <purpose>.Dockerfile그에 따라 작동합니다.
dev.Dockerfile, test.Dockerfile, build.Dockerfile등
VS 코드에서 사용 <purpose>.Dockerfile하고 올바르게 인식됩니다.
Dockerfile (확장자 없음)이있는 컨테이너 당 디렉토리가 있어야한다고 생각합니다. 예를 들면 :
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
빌드 할 때 디렉터리 이름 만 사용하면 Docker가 Dockerfile을 찾습니다. 예 :
docker build -f ./db .
당신이 hub.docker.com에서 autobuilder를 사용하려는 경우 이어야한다 Dockerfile . 그래서 거기 :)
사실 인 것 같지만 개인적으로는 디자인이 좋지 않은 것 같습니다. 물론 기본 이름 (확장자 포함)을 사용하지만 다른 이름을 허용하고 명령에 대한 도커 파일의 이름을 지정하는 방법이 있습니다.
확장 기능을 사용하면 응용 프로그램을 해당 확장 유형에 연결할 수 있기 때문에 좋습니다. MacOSX에서 Dockerfile을 클릭하면 Unix 실행 파일로 취급하고 실행을 시도합니다.
Docker 파일에 확장자가 있으면 OS에 특정 응용 프로그램 (예 : 텍스트 편집기 응용 프로그램)으로 시작하도록 지시 할 수 있습니다. 잘 모르겠지만 현재 동작이 파일 권한과 관련이있을 수도 있습니다.
나는 그들에게 이름과 확장자를 부여합니까; 만약 그렇다면?
원하는대로 Dockerfile의 이름을 지정할 수 있습니다. 기본 파일 이름은 Dockerfile(확장자 없음)이며 기본값을 사용하면 컨테이너로 작업하는 동안 다양한 작업을보다 쉽게 수행 할 수 있습니다.
특정 요구 사항에 따라 파일 이름을 변경할 수 있습니다. 예를 들어 여러 아키텍처를 위해 빌드하는 경우 resin.io 팀이 HAProxy 컨테이너에 대해 다중 컨테이너 ARM 예제를 수행 했으므로 아키텍처를 나타내는 확장을 추가 할 수 있습니다 .
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
제공된 예제에서 각 Dockerfile은 서로 다른 아키텍처 별 업스트림 이미지에서 빌드됩니다. 빌드에 사용할 특정 Dockerfile 은 명령 줄을 사용하여 컨테이너를 빌드 할 때 --file, -f옵션을 사용하여 지정할 수 있습니다 .
Dockerfile도커 파일 (디렉토리 당)이 하나만 있으면 좋습니다. 타당한 이유가 있다면 동일한 디렉토리에 여러 개의 도커 파일이 필요한 경우 원하는 표준을 사용할 수 있습니다. 최근 프로젝트에는 환경이 충분히 다르기 때문에 AWS Docker 파일과 로컬 개발 환경 파일이있었습니다.
Dockerfile Dockerfile.aws
동일한 디렉토리에 두 개의 Dockerfile을 만들었습니다.
# vi one.Dockerfile
# vi two.Dockerfile
두 Dockerfile을 모두 빌드하려면
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
참고 : 현재 작업 디렉토리에 있어야합니다.
참고 URL : https://stackoverflow.com/questions/26077543/how-to-name-dockerfiles
'IT박스' 카테고리의 다른 글
| PHP로 IP 주소 국가 가져 오기 (0) | 2020.09.05 |
|---|---|
| 터미널에서 Ruby 코드를 실행하는 방법은 무엇입니까? (0) | 2020.09.05 |
| Redis는 데이터를 유지합니까? (0) | 2020.09.04 |
| REST 인증 및 API 키 노출 (0) | 2020.09.04 |
| ES6 클래스로 기능을 확장하는 방법은 무엇입니까? (0) | 2020.09.04 |