일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 경제
- 아임포트
- 주식
- CU
- Python
- 북클럽
- iamport
- rails cache
- Cache
- redis transaction
- redis
- API
- 노개북
- django
- trouble shooting
- Rails
- 사업
- transaction
- 노마드코더
- 노마드코드
- 레일즈 캐시
- Watcha pedia
- 레일즈
- restful
- 재태크
- 투자
- memcached
- Race Condition
- HTTP
- Today
- Total
Stay hungry, Stay foolish
Docker ????????????? 본문
저희 회사 프로젝트는 docker 에 올라가 있지 않았습니다.. 따라서 찾아오는 새로운 개발 팀원이 들어올때마 겪는 환경 셋팅의 고통들...
그러다 사수님께서 docker를 제안해주셨고 본격적으로 이 레거시 같은 rails 환경을 docker에 올려놓고자 공부를 시작해봅니다.
docker란? 그리고 이걸 왜 써야 하는걸까요?
- docker는 애플리케이션을 빠르게 구축, 테스트, 배포 할 수 있는 소프트 웨어 플랫폼 docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징 하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.

도커를 써야하는 이유를 간단하게 이해하자면 우리의 운영체제 하나에서 여러 어플리케이션을 돌리고자 할때 각 어플리케이션을 위한 서버별로 가상의 OS를 통해 올려야 하는데 docker 컨테이너라는 OS레벨의 가상화 방식으로 가상의 도커엔진이 존재하고 도커엔진 위에 각 프로세스에 필요한 바이너리만 존재합니다.
그리고 이 컨테이너의 동작은 도커 이미지라는 설정파일을 통해 가능합니다.
이 이미지는 프로젝트에서 dockerfile을 통해 만들어집니다. (docker doc)
웹서버가 동작하는 원리 웹브라우저에서 80번 port 로 들어온 요청이 있으면 webserver가 파일속의 index로 보내 하고 돌려보냄



도커 이미지 만드는 법

process란 뭘까..?


get start
일단 docker docs의 get start 를 따라서 시작해 보겠습니다.
1. docker desktop 을 받는다
2. 아래의 커맨드를 입력한다.
- -d - run the container in detached mode (in the background)
- -p 80:80 - map port 80 of the host to port 80 in the container
- docker/getting-started - the image to use
상단의 이상한 이름의 프로젝트가 생겼다. 잘되어가고 있는 거다 랜덤으로 이름이 생긴다고 한다.
자 그러면 이 컨테이너를 지우고 다시 해보자 지우기 위해 docker ps cmd를 입력해서 id 값을 찾아 준다.
난 이미 지워서 뜨지 않고 있다. 이후
docker stop <the-container-id>
docker rm <the-container-id>
위 커맨드 들을 통해 컨테이너를 지우고 시작하자!
한큐에 하려면 docker rm -f <the-container-id> 로 지워주자
어플리케이션을 도커로 빌드해보자!
빌드 하기 위해서는 dockerfile이 필요합니다.