라트노팜 차크라바티 는 현재 에릭슨에서 근무하는 소프트웨어 개발자입니다. 그는 오랫동안 IoT, 기계 간 기술, 커넥티드 카, 스마트 시티 분야에 집중해 왔습니다. 그는 새로운 기술을 배우고 이를 실무에 적용하는 것을 좋아합니다. 일하지 않을 때는 3살 난 아들과 함께 시간을 보내는 것을 즐깁니다.
로컬에서 노드 앱을 실행하는 것은 재미있지만 로컬 시스템에 Couchbase 등의 필수 소프트웨어를 설치해야 하는 모든 주의 사항이 필요합니다. 대안으로 Docker를 사용하여 앱을 컨테이너화하여 번들 이미지로 실행하는 방법이 있습니다. Couchbase 컨테이너에서도 동일한 작업을 수행할 수 있으므로 로컬에 설치할 필요가 없습니다.
Couchbase 사용자 지정 이미지 실행
Docker를 사용하여 Couchbase를 실행하려면 사용자 지정 Couchbase 이미지를 참조하세요. 도커파일. 이 스크립트는 다음에서 찾을 수 있는 스크립트를 사용합니다. 여기.
기본 Couchbase 이미지를 사용하지 않는 이유는 인덱스 및 쿼리 서비스로 Couchbase 인스턴스를 사전 구성하고 기본 인덱스가 생성된 "photogallery"라는 버킷을 생성하고 싶기 때문입니다. 기본 Couchbase Docker 이미지를 사용하려면 위에서 언급한 모든 단계를 수동으로 설정해야 합니다. Docker 사용의 장점 중 하나는 기본 이미지에서 확장하여 필요에 따라 모든 종류의 자동화 단계를 수행할 수 있다는 것입니다. 이는 위에서 언급한 스크립트(configure.sh)를 통해 이루어집니다. 이미지가 실행되면 인덱스와 쿼리 서비스가 이미 실행되고 있는 Couchbase 인스턴스와 인덱스가 배치된 버킷을 얻게 됩니다.
이 스크립트는 Couchbase 서비스를 설정하고 버킷과 인덱스를 모두 한 번에 생성합니다.
이미지는 다음을 사용하여 만들 수 있습니다:
1 |
도커 빌드 -t chakrar27/카우치베이스:포토갤러리 <경로-에-도커파일> |
이미지가 빌드되면 다음을 사용하여 실행합니다:
1 |
도커 실행 -d -p 8091-8094:8091-8094 -p 11210:11210 -e BUCKET_NAME=포토갤러리 --이름 카우치베이스 chakrar27/카우치베이스:포토갤러리 |
이 시점에서 다음 주소로 이동하여 Couchbase Docker 컨테이너에 로그인할 수 있습니다:
1 |
192.168.99.100:8091 |
192.168.99.100은 도커 머신 IP입니다.
앱 이미지 실행
Couchbase 컨테이너가 실행되면 앱 컨테이너를 빌드할 수 있습니다. 카우치베이스의 포토갤러리 앱용 도커파일 를 참조하세요.
앱 컨테이너는 다음과 같이 빌드할 수 있습니다:
1 |
도커 빌드 -t chakrar27/nodejs:포토갤러리앱 <경로-에-도커파일> |
이미지를 실행합니다:
1 |
도커 실행 -p 3000:3000 -e AWS_ACCESS_KEY=<당신의 액세스 키> -e AWS_SECRET_KEY=<당신의 비밀 키> -e S3_BUCKET=<s3 버킷> -e 호스트=http://192.168.99.100:3000 -e COUCHBASE_HOST=couchbase -e COUCHBASE_BUCKET=photogallery -e PORT=3000 --name node-photo-app chakrar27/nodejs:photogalleryapp |
이제 브라우저에 192.168.99.100:3000을 입력하면 다음과 같이 표시됩니다.
테스트해 보세요:
자동차 이미지가 저장되고 태그가 지정됩니다. "좋아요"가 4개 있습니다. 카우치베이스 버킷을 살펴봅시다:
예상대로 버킷에는 4개의 '좋아요'와 태그가 있는 업데이트된 정보가 있습니다.
따라서 로컬 머신에 아무것도 설치하지 않고 다른 컨테이너(Couchbase)와 통신하는 Docker 컨테이너에서 포토갤러리 앱을 실행할 수 있었습니다. 멋지지 않나요?
참조
Nic Raboy의 다음 게시물은 다음과 같이 시작하는 데 매우 유용합니다. Docker 그리고 Node.js.