본문 바로가기

전체 글

728x90
(53)
도커 사용하기(4) - 생성한 이미지 DockerHub에 올리고 실행 :: DANIDANI DockerHub 로그인 dockerhub에서 계정을 생성합니다. docker login 생성한 Image 올리기 docker push 10ekdms01/node-test:1.0 다른 서버에서 image pull 받기 aws ec2를 생성한 후 docker만 설치해 준 서버를 준비합니다. pull을 이용해 image를 가져옵니다. docker pull 10ekdms01/node-test:1.0 pull 받은 image 확인 docker images image 실행 docker run -p 8080:3000 10ekdms01/node-test:1.0 이 서버에는 node, npm, express 등을 설치하지 않았습니다. 단지 이미지만 실행 시켜줬는데 애플리케이션이 정상적으로 작동하는 것을 볼 수 있습니다.
도커 사용하기(3) - Dockerfile로 이미지 직접 만들기(Node.js) :: DANIDANI 다음 예제는 Node.js 기반의 이미지를 dockerfile로 만들어 배포합니다. node와 npm이 설치되어있는 환경을 가정하고 진행합니다. Express로 배포하려는 프로젝트 생성 express 생성을 도와주는 express-generator 설치(에러 시 sudo로 접근) npm install -g express-generator docker-test 라는 이름의 프로젝트 생성(저는 ejs 템플릿 엔진을 사용했지만, 저 옵션은 생략가능합니다,) express docker-test --ejs 생성된 프로젝트에서 npm 실행 cd docker-test npm install npm start dockerfile 생성하기 vi Dockerfile Dockerfile 작성하기 # 베이스 이미지 설정 FRO..
도커 사용하기(2) - Dockerfile 작성 방법 :: DANIDANI Dockerfile 도커는 이미지를 만들기 위해 DSL(domain specific language) 파일을 사용합니다. 도커 파일은 서버 운영 기록을 코드화한 파일입니다. 쉽게 말하면, 실행 명령어들의 집합! 소스들 + dockerfile = docker image FROM FROM ubuntu:16.04 FROM은 어떤 이미지로부터 이미지를 생성할지 지정합니다. (베이스 이미지) Dockerfile에서는 필수 항목입니다. MAINTAINER MAINTAINER daeun 관리하는 사람의 이름 또는 이메일 정보를 적습니다. 생략이 가능합니다. WORKDIR WORKDIR /temp 명령어들이 실행될 기본 디렉터리를 설정합니다. 각 명령어의 현재 디렉터리는 한 줄 한 줄마다 초기화되기 때문에 RUN cd..
도커 사용하기(1)- 설치와 컨테이너 실행 :: DANIDANI 도커 설치 스크립트를 사용해서 설치해도 되고, 패키지를 이용해서 설치해도 됩니다. 다음은 AWS Linux에 yum 패키지를 이용해 설치하는 방법입니다. sudo yum install docker for mac Docker Desktop for Mac - Docker Hub 설치 확인 docker version sudo 없이 사용하는 방법 도커는 기본적으로 root 권한이 필요해서 sudo를 붙여줘야 됩니다. 이건 도커 그룹에 사용자 추가하는 명령어로 앞으로의 명령에서 sudo를 생략해도 됩니다. sudo usermod -aG docker (사용자 이름 ex. ec2-user) 반영이 안 됐을 때는 서버 재시작! docker 서비스 실행 sudo service docker start 부팅 시 자동으로 실..
도커(Docker) 시작하기 - 이미지, 컨테이너, 장점 :: DANIDANI 도커란? 도커는 리눅스 환경에서 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 우리가 express 애플리케이션을 만들어서 배포를 할 때를 생각해봅시다. 서버를 만들고 node를 설치하고, npm을 설치하고, git을 설치하고,,,,, git에서 pull을 받고, npm install을 해주고, npm start를 해주고,,,, 버전이 안 맞아서 다시 반복,, 등등! 아주 복잡한 과정들을 거칩니다. 그러나 express 애플리케이션을 도커 이미지로 저장해 놓는다면 언제 어디서든 pull 받고 run만 하면 실행이 됩니다. express 애플리케이션뿐만 아니라 OS, framework, tool 등 어떠한 종류라도 docker 이미지만 있다면 pull, run 처럼 똑. 같. 은 방식으로 실행이 가능합니다..
[Git] git tag 사용법 :: DANIDANI 태그(tag) 깃 태그는 주로 소스 코드 버전을 표시하기 위해 사용된다. ex v1.0.3 버전 설정 방법은 2020/12/15 - [기타] - 소프트웨어 버전 관리 - Semantic versioning :: DANIDANI 참고! 일반 태그(Lightweight)- 이름만 붙일 수 있다. 주석 태그(Annotated) - 이름 + 설명 + 서명 등을 포함합니다. git tag 현재 태그 리스트를 보여준다. git tag (태그명) git tag -a (태그명) -m "(태그 설명)" 각각 일반 태그와 주석 태그를 만드는 명령이다. git tag (태그명) (커밋ID) 태그를 만들었으면 태그를 붙이고 싶은 커밋에 붙인다. git push origin (태그명) 현재 태그는 로컬 저장소에만 저장되어있으므..
소프트웨어 버전 관리 - Semantic versioning :: DANIDANI 서비스를 릴리즈하거나 업데이트할 때 '버전' 이라는 것을 명시해줍니다. 이러한 소프트웨어 버전 관리의 대표적인 것이 Semantic versioning이고, major, minor, patch의 형태를 가지고 있습니다. 규칙은 다음과 같습니다. major.minor.patch Major - api의 변경이 있는 경우 - 하위 버전과 호환되지 않을 경우 Minor - 새로운 기능 추가 - 하위 버전과 호환될 경우 Patch - 버그 수정, test 코드 수정, document 업데이트 등 기능에 변경 없을 경우 - 사용자가 알아차리지 못할 정도의 작은 변화 Semantic versioning 규칙 정식 버전 출시 전에 major은 0 Major, Minor, Patch는 각각 자연수이고 절대 앞에 0이 붙..
리눅스 서버 시간 설정 :: DANIDANI 서울 기준 시간으로 변경 mv /etc/localtime /etc/localtime_org ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 시간 및 타임존 확인 date