Docker를 사용하여 간단한 node.js 프로젝트의 개발 환경을 만들고 싶습니다. 도커 컨테이너 안에 프로젝트의 종속성 (모두 npm 패키지 임)을 설치하고 싶습니다. (그래서 그들은 내 호스트에 손대지 않을 것입니다.) 볼륨을 사용하여 코드를 마운트하십시오. 따라서 컨테이너는 볼륨을 마운트하는 경로에서 node_modules
폴더를 찾을 수 있어야하지만 호스트에서 볼 수 없습니다. 나는 그것을 실행하는 방법docker에서 npm 의존성 설치 및 볼륨에서 테스트
FROM node:6
RUN mkdir /code
COPY package.json /code/package.json
WORKDIR /code
RUN npm install
이는 다음과 같습니다 :
이 내 Dockerfile입니다
docker build --tag my-dev-env .
docker run --rm --interactive --tty --volume $(pwd):/code my-dev-env npm test
을 그리고 이것은 내 package.json입니다 :
{
"private": true,
"name": "my-project",
"version": "0.0.0",
"description": "My project",
"scripts": {
"test": "jasmine"
},
"devDependencies": {
"jasmine": "2.4"
},
"license": "MIT"
}
그것은 실패가 수 있기 때문에 jasmine
을 찾을 수 없으므로 실제로 설치하지는 않습니다.
> jasmine
sh: 1: jasmine: not found
Docker로 원하는 것을 수행 할 수 있습니까? 또 다른 방법은 패키지를 전 세계적으로 설치하는 것입니다. 나는 또한 쓸데없는 npm install -g
을 시도했다.
나는 Docker 버전 1.12.1 (빌드 23cf638)과 함께 데비안에 있습니다.
또한 docker 실행 명령을 yaml 파일에 넣고 docker-compose를 사용하여 실행하십시오. 특히 많은 볼륨이 있고 확실히 여러 컨테이너를 사용하면 –