1. 서문
Docker 프로젝트를 이해하지 못하는 학생들이있을 수 있습니다. Docker는 GO 언어로 작성되었습니다. 신속하게 배포되는 가벼운 가상 기술 프로젝트입니다. 이를 통해 개발자는 프로그램을 패키지하고 환경을 함께 실행하여 Docker 이미지 (미러)로 만들 수 있습니다. 이런 식으로 서버에 배포하십시오. 매번 다양한 종속성과 환경을 설치하는 번거 로움을 피하고 애플리케이션 간의 격리를 달성하기 위해 프로그램을 실행하려면이 이미지 만 다운로드하면됩니다.
2. 준비를 실현하십시오
먼저 간단한 node.js 웹 앱을 만들어 거울을 만들 것입니다. 그런 다음이 이미지를 기반으로 컨테이너를 실행하십시오. 이를 통해 빠른 배포가 가능합니다.
네트워크 이유로 인해 Node.js 이미지는 Docker Hub가 아닌 국내 이미지 라이브러리에서 다운로드되었습니다.
먼저 Nodejs 이미지를 국내 미러 웹 사이트에서 가져 오겠습니다.
Docker Pull Hub.c.163.com/nce2/nodejs:0.12.2
다운로드 후 이미지를 확인하고 이름을 찾으십시오. 나중에 사용할 것입니다.
3. node.js 프로그램을 작성하십시오
package.json을 만들고 관련 정보 및 종속성을 작성하십시오
vi package.json
{ "name": "webtest", "version": "1.0.0", "description": "node.js on docker", "author": "lpxxn", "main": "server.js", "스크립트": { "시작": "node server.js"}, "종속성": "express": "^4.1."Server.js를 만듭니다
vi server.js
이 웹은 Express Framework를 기반으로하는 가장 간단한 웹을 작성하고 hello Word를 반환합니다. 우리는 포트 8888을 듣고 있습니다
'strict'; var expression = requess ( 'express'); var port = 8888; var app = express (); app.get ( '/', function (req, res) {res.send ( 'hello world/n');}); app.listen (port); console.log ( 'http : // localhost :' + port);4. Dockerfile을 만듭니다
다음으로 주인공은 무대를 타고 Dockerfile 파일을 만듭니다. 이 파일은 이미지 생성에 필요한 파일입니다.
vi dockerfile
Docker는 Dockerfile의 내용에 따라 이미지를 작성합니다. 먼저 전체 코드를 제공 한 다음 한 줄씩 설명하겠습니다.
Hub.c.163.com/nce2/nodejs:0.12.2#에서 앱 디렉토리 런 mkdir -p/home/serviceworkdir/home/service# bundle app sourcecopy 만들기. /home/servicerun npm installexpose 8888cmd [ "npm", "start"]
문장으로 문장을 설명해 봅시다
Hub.c.163.com/nce2/nodejs:0.12.2에서
From은 이미지를 작성하기위한 기본 소스 이미지입니다. hub.c.163.com/nce2/nodejs:0.12.2 는 이미지의 이름이며, 처음에는 국내 서버에서 가져온 이미지입니다. 로커가 로커가 없으면 이미지 자체를 당깁니다.
# App DirectoryRun Mkdir -P /Home /ServiceWorkDir /Home /Service 작성
첫 번째 문장 실행은 이미지에서 폴더를 작성하는 데 사용되며 향후 코드를 저장하는 데 사용됩니다.
두 번째 문장 인 WorkDir는 작업 디렉토리로 만든 폴더를 사용하는 것입니다.
# 번들 앱 sourcecopy. /홈/Servicerun NPM 설치
첫 번째 문장 사본은 컴퓨터의 현재 디렉토리의 모든 파일을 이미지의 /홈 /서비스 폴더에 복사하는 것입니다.
두 번째 문장 실행은 NPM을 사용하여 앱에 필요한 모든 종속성을 설치합니다.
8888 노출
웹 앱은 Port 8888의 목록을 듣기 때문에이 포트를 호스트에 노출시켜 외부에서 웹에 액세스 할 수 있습니다.
CMD [ "NPM", "시작"]
나는 그가 설명하지 않고 그가 무엇을하는지 말할 수 있다고 믿는다. npm start 명령을 실행하면이 명령은 Node Service.js를 실행합니다.
웹 앱을 시작하십시오.
5. 이미지 빌드
DockerFile이 이미지를 작성하기 위해 디렉토리에서 다음 명령을 실행하십시오.
Docker Build -t mynodeapp.
마지막 요점을 잊지 마십시오
구축 후 이미지를 확인하십시오
6. 거울을 실행하십시오
Docker Run -D -P 8888 : 8888 AC5
-D는 컨테이너가 백그라운드에서 실행되며 -P는 포트 매핑을 나타내고 로컬 머신의 8888 제품을 컨테이너의 8888 포트에 매핑하여 외부 네트워크가 로컬 기계의 8888 제품을 통해 웹에 액세스 할 수 있도록합니다.
뒤의 AC5는 우리의 이미지 ID입니다. 처음 3 개는 이미이 이미지를 찾을 수 있기 때문에 다음을 기록하지 않았습니다.
Docker PS를 통해 방금 실행 한 컨테이너의 ID를 확인하십시오.
인쇄 로그 7370은 컨테이너 ID입니다. 이미지 ID와 마찬가지로 모든 것을 쓸 수 있습니다. 나는 게으르고 처음 4 자리를 씁니다.이 컨테이너를 식별하기에 충분합니다.
Docker Logs 7350
컨테이너의 다음 명령을 생각하면 입력 한 후 일반 Linux에서 작동 할 수 있습니다. 종료하려면 종료 명령을 실행할 수 있습니다.
7. 테스트
먼저 Curl을 통해 웹에 액세스 할 수 있는지 확인해 봅시다.
Curl -I Localhost : 8888
브라우저를 통해 확인할 수도 있습니다
8. 요약
좋아,이 튜토리얼은 여기에 있습니다. 배웠습니까? 이 기사가 시작하는 데 도움이되기를 바랍니다. 질문이나 질문이 있으면 의사 소통 할 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.