개발/docker
-
travis CI - elastic beanstalk 연동하기개발/docker 2020. 5. 5. 19:14
깃헙에 푸쉬 되는순간 travis ci 가 도커를 빌드하는 작업을 했었다 이후에는 aws 엘라스틱 빈스타크를 통해 배포하는 작업을 명령하려한다. deploy : # deploy 할때 이거써라 provider : elasticbeanstalk # 빈스타크에 url(region),appname(app) 에 명시되어있음 region : "us-west-2" app : "docker" env : "Docker-env" # s3버킷 s3검색하면나옴 bucket_name : "" bucket_path : "docker" on : branch : master provider 에는 배포할 툴을 명시해주고 region 은 elastic beanstalk 의 url 을 보면 us-west-2 라는 지역이있다. 이 지역은 ..
-
AWS Elastic Beanstalk 시작하기개발/docker 2020. 5. 5. 16:44
elastic bean stalk elasctic beanstalk 를 시작함에앞서 어플리케이션 생성을 해야하는데 위의 부분 설정만해주면 된다. 플랫폼 브랜치의경우 amazon linux 2의경우 플랫폼 버전 이없으므로 amazon linux 를 선택해주면된다. 두번쨰 줄이 url 이될것이다. elastic beanstalk 는 아래 사진의 Load Balancer 를 보면 알수있듯 사용자들이 우리 웹에들어올떄 자동으로 새로운 vm 을 생성해 도커를 run 해준다.
-
travisCI - Github 연동해서 docker 빌드하기개발/docker 2020. 5. 3. 17:18
travis ci 깃헙으로 가입하면 알아서 연동이됨. 깃헙으로 푸시하면 travis ci 가 할일을 하게하기 위함이다. 그 할일을 지정하기 위해서 .travis.yml 을 작성해야한다. 1. docker 를 카피 2. Dockerfile.dev 으로 이미지만들기 3. test run 4. aws 배포 # 권한? sudo: required # we need docker services: - docker # id를 복붙할수업으니 태그사용(아무거나 가능) before_install: - docker build -t khdrogba/docker-react -f Dockerfile.dev . # run test # test 끝나면 exit 함(-e) script: - docker run -e CI=true khd..
-
docker로 react 빌드하기개발/docker 2020. 5. 3. 16:41
docker로 react app 을 빌드하려할때 이미 빌드할때 수많은 npm 패키지들을 설치했으므로 또 다시 설치하는것을 막아야한다. 그리고 nginx 를 사용해 web server 를 만들어야 하는데 이때는 node 가 아닌 nginx 베이스이미지를 써야한다. 그래서 두단계로 나누어진행한다. 1단계에서 node 이미지로 npm install 을 하고 run build 를 한다. 2단계에서 nginx 이미지로 run build의 결과물을 카피한후 start nginx 한다. #build phase FROM node:alpine as builder WORKDIR '/app' COPY package.json . RUN npm install COPY . . RUN npm run build 1단계를 Docker..
-
Docker 로 react 실행및 자동변경 가능하게하는법개발/docker 2020. 4. 28. 20:36
커스텀 네임 dockerfile # dev 용 FROM node:alpine #컨테이너의 /app 경로에 WORKDIR '/app' #package.json 을 복사후 COPY package.json . #npm install 을 실행후 RUN npm install #나머지 파일드를 복사후 COPY . . #npm run start 실행 CMD ["npm","run","start"] ㅇ dev 버전으로만 사용할 Dockerfile 을 사용하기위해 Dockerfile 이아닌 Dockerfile.dev 이라는 이름을 쓰려한다. 보통 해당 경로에서 Docker build . 을 사용하는데 이런경우 Docker build -f Dockerfile.dev . 명령어를 사용하면된다. React 개발의경우 수많은 n..
-
docker-compose개발/docker 2020. 4. 14. 19:43
docker build 를한경우 dependencies 에있는 express 와 redis 는 다른 컨테이너에있다. 그래서 만약 express 와 redis를 둘다쓴경우 에러가 발생한다. events.js:292 throw er; // Unhandled 'error' event ^ Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) Emitted 'error' event on RedisClient instance at: at RedisClient.on_error (/app/node_modu..
-
Docker 로 Node 서버 빌드, 실행하기개발/docker 2020. 4. 7. 21:00
Dockerfile을 사용해 node 서버 실행시키기 사전에 미리 index.js 노드 코드를 준비한후 Dockerfile 을사용해 npm 에서 express를 설치한다음 서버를 실행시키려한다. const express = require('express'); const app = express(); app.get('/',(req,res)=>{ res.send('hi @@@@'); }); app.listen(8080,()=>{ console.log('listening port 8080'); });4 8080 포트 서버를 express 를 활용해 실행시키는 코드이다. FROM alpine RUN npm install CMD ['npm' , 'start'] alpine 베이스 이미지에서 npm install ..
-
docker image 생성개발/docker 2020. 3. 30. 19:35
컨테이너를 멈추는 두가지방법 docker stop - sigterm(terminate signal) 을보냄 , clean up 과정후 셧다운(시간이 걸림) docker kill - sigkill(kill signal) 을보냄 , 추가적인 일하지 않고 당장 셧다운 추가적인 컨테이너를 실행하는방법 docker exec -it 1. exec 은 다른 커맨드를 실행시킬때 사용하는 명령어이다. 2.리눅스 환경에서 모든 프로세스에는 3가지 커뮤니케이션 채널이있다.( standard in , out , err) 터미널에서 뭘치면 standard in 을 통해 들어가며 응답은 standard out 을통해 터미널로 볼수잇게된다. err 발생시 standard err 채널을 통해 응답된다 -i 는 이 standard i..