티스토리 뷰
http://www.habitus.io/ 한글 부분 번역본입니다.
Here's what it takes to build a Docker image: a Dockerfile!
Dockerfiles 간단하죠...
Dockerfile 은 간단하고 알수있는 형식입니다. 바탕이되는 이미지를 선택하고, 파일 추가하고, 명령 실행하고 you're good to go. 아래는 예제:
FROM ubuntu
RUN apt-get -y install python
ADD ./a-file /app/a-file
너무 간단한건가요?
Often times building a real world application takes much more than following simple ADD
and RUN
steps in a step-by-step fashion. You might want to:
- Pull code from a private git repository and therefore need your private SSH key in the image during build
- Add compile-time libraries to your image but don't need them in run-time
또한, how about those "post-build" steps like uploading your compiled executables to S3 or resetting your exception handling system after a successful build and release?
Habitus를 소개합니다
Habits 는 이런 이슈들에 대한 저희들의 응답입니다. 저희를 위해 만들었고 모든사람들이 행복했으면 하는 목적으로 오픈소스로 풀어 제공하고 있습니다.
Habitus 뭔가요?
Habits 는 도커를 위한 빌드 흐름 도구입니다. 다중 Dockerfile들을 복잡한 빌드와 배포 흐름과 결합하도록 해줍니다.
Dockerfile들을 단일 yaml 파일인
build.yml
에 병합은 많은 힘과 유연성을 제공합니다. 다음은 build.yml
예제입니다:
build:
version: 2016-02-13 // version of the build schema.
steps:
- builder:
name: builder
dockerfile: Dockerfile.builder
artifacts:
- /go/src/github.com/cloud66/iron-mountain/iron-mountain
- /go/src/github.com/cloud66/iron-mountain/config.json
- /go/src/github.com/cloud66/iron-mountain/localhost.crt
- /go/src/github.com/cloud66/iron-mountain/localhost.key
cleanup:
commands:
- rm -rf /root/.ssh/
- deployment:
name: ironmountain
dockerfile: Dockerfile.deployment
depends_on:
- builder
- uploader:
name: uploader
dockerfile: Dockerfile.uploader
depends_on:
- ironmountain
command: s3cmd --access_key=_env(ACCESS_KEY) --secret_key=_env(SECRET_KEY) put /app/iron-mountain s3://uploads.aws.com
Habitus로 실행 가능합니다
$ habitus -f build.yml -e ACCESS_KEY=$ACCESS_KEY -e SECRET_KEY=$SECRET_KEY
발생하는일들:
- Habitus runs each step with the Dockerfile specified in that step.
- If any
artefacts
are specified, they'll be copied from the built image onto the work directory, so they'll be available to the next steps. - Any
cleanup
commands
will run after build. This will result in 'squashing' the image, therefore removing any traces of the unwanted layers. This is particularly useful to get rid of compile time packages or private SSH keys. - If a
command
is specified, it will run in the build container. This can be a step to upload build artefacts to a we server.
할 수 있는 다른것은?
Habitus can do more than just running build steps. It can:
- Automatically detect that a step uses another step as the base image
FROM
and amend the image tags - Build complex build dependency tree and run independent steps in parallel
- Pass environment variables into the build
Multiple instances of Habitus can run in parallel on the same build using unique session IDs. This is useful if you would like to use Habitus for your automated build server.
더 자세한 내용은 어디에?
You can read more about Habitus on its website.
무료입니까?
예! Habitus는 무료고 오픈소스입니다.
Habitus 후원자는?
Habitus is an open source project sponsored by Cloud 66. Fork, modify and conquer, then let us know what you think!
'OS-서버-서비스 > Docker' 카테고리의 다른 글
docker swarm 찾는 서비스가 어느 노드에 띄워졌는지 조회 명령 (0) | 2018.11.23 |
---|---|
laradock 셋팅 기록 (0) | 2016.11.15 |
Kitematic Hostname/IP doesn't match certificate's altnames (0) | 2015.08.30 |
boot2docker bash shell 사용 (0) | 2015.08.03 |
Boot2Docker 가상머신 내에서 윈도우 폴더 마운트하여 공유 (0) | 2015.07.23 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- Make Use Of
- How to geek
- 인터넷 통계정보 검색시스템
- 트위터 공유 정보모음
- 웹표준KR
- 치우의 컴맹탈출구
- Dev. Cheat Sheets
- w3schools
- Dev. 조각들
- ASP Ajax Library
- CSS Tricks
- WebResourcesDepot
- jQuery Selectors Tester
- DeveloperSnippets
- Smashing Magazine
- Nettuts+
- devListing
- 웹 리소스 사이트(한)
- Mobile tuts+
- Dream In Code
- Developer Tutorials
- CSS3 Previews
- 자북
- 안드로이드 사이드
- Code Visually
- Code School
- SQLer.com
- 무료 파워포인트 템플릿
- iconPot
- Free PowerPoint Templates
- Design Bombs
- Web Designer Wall
- 1st Webdesigner
- Vandelay Design
- 무료 벡터 이미지 사이트들
- Tripwire Magazine
- Web TrendSet
- WebMonkey
- 윤춘근 프리젠테이션 디자이너 블로그
- cz.cc 무료 DNS
- [웹하드] MediaFire
- [웹하드] DivShare
- 한컴 인터넷 오피스
TAG
- JQuery
- ASP
- classic asp
- nginx
- Chrome
- Docker
- CSS
- Android
- laravel
- javascript
- JSON
- IOS
- Debug
- Prototype
- Wordpress
- nodejs
- PHP
- Mac
- 워드프레스
- API
- iphone
- IE
- sencha touch
- centos
- 안드로이드
- Linux
- git
- iis
- 한글
- mssql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함