도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
talked by CI/CD Conference 2021 by CloudNative Days https://event.cloudnativedays.jp/cicd2021
re-upload: https://speakerdeck.com/whywaita/cyberagent-oss-cicd-myshoes-cicd2021
DCSF19 Hardening Docker daemon with Rootless modeDocker, Inc.
Akihiro Suda, NTT Corporation
Docker CE 19.03 is going to support "Rootless mode", which allows running the entire Docker daemon and its dependencies as a non-root user on the host, so as to protect the host from malicious containers in a simple but very strong way.
Rootless mode is also attractive for users who cannot get `sudo` permission for installing Docker on shared computing machines. e.g. HPC users.
In this talk, Akihiro Suda, the author of the Rootless mode (PR: moby#38050), will explain how users can get started with Rootless mode.
He will also explain the implementation details of Rootless mode and planned enhancements such as LDAP integration.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
P2P Container Image Distribution on IPFS With containerd and nerdctlKohei Tokunaga
Talked at FOSDEM 2022 about IPFS-based P2P image distribution with containerd and nerdctl (Feburary 6, 2022).
https://fosdem.org/2022/schedule/event/container_ipfs_image/
nerdctl is a Docker-compatible CLI of containerd, developed as a subproject of containerd. nerdctl recently added support of P2P image distribution on IPFS. This enables to share container images among hosts without hosting or relying on the registry.
In this session, Kohei, one of the maintainers of nerdctl, will introduce IPFS-based P2P image distribution with containerd and nerdctl. This session will also show the combination of IPFS-based distribution with the existing image distribution techniques, focusing on lazy pulling (eStargz) and image encryption (OCIcrypt). The status of integration work with other tools including Kubernetes will also be shared.
Related blog post: "P2P Container Image Distribution on IPFS With Containerd" . https://medium.com/nttlabs/nerdctl-ipfs-975569520e3d
source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
http://sched.co/EaYe
Until recently, running `docker build` against Dockerfile had been the only way to build container images.
However, lots of opensource software are being proposed as successors/alternatives to `docker build`:
- BuildKit (Moby Project / Docker)
- img (Jessica Frazelle / Microsoft)
- Buildah (Project Atomic / Red Hat)
- umoci & Orca (SUSE)
- Bazel (Google)
- OpenShift S2I (Red Hat)
Akihiro Suda compares these new tools' advantages and disadvantages.
His evaluation basis would include but not be limited to:
- Performance (Cache efficiency, Concurrency, Distributed Execution)
- Secret management, e.g. SSH and AWS keys
- Support for non-Dockerfile
- Non-root execution
- UI & UX
- Governance of the community
He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
talked by CI/CD Conference 2021 by CloudNative Days https://event.cloudnativedays.jp/cicd2021
re-upload: https://speakerdeck.com/whywaita/cyberagent-oss-cicd-myshoes-cicd2021
DCSF19 Hardening Docker daemon with Rootless modeDocker, Inc.
Akihiro Suda, NTT Corporation
Docker CE 19.03 is going to support "Rootless mode", which allows running the entire Docker daemon and its dependencies as a non-root user on the host, so as to protect the host from malicious containers in a simple but very strong way.
Rootless mode is also attractive for users who cannot get `sudo` permission for installing Docker on shared computing machines. e.g. HPC users.
In this talk, Akihiro Suda, the author of the Rootless mode (PR: moby#38050), will explain how users can get started with Rootless mode.
He will also explain the implementation details of Rootless mode and planned enhancements such as LDAP integration.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
P2P Container Image Distribution on IPFS With containerd and nerdctlKohei Tokunaga
Talked at FOSDEM 2022 about IPFS-based P2P image distribution with containerd and nerdctl (Feburary 6, 2022).
https://fosdem.org/2022/schedule/event/container_ipfs_image/
nerdctl is a Docker-compatible CLI of containerd, developed as a subproject of containerd. nerdctl recently added support of P2P image distribution on IPFS. This enables to share container images among hosts without hosting or relying on the registry.
In this session, Kohei, one of the maintainers of nerdctl, will introduce IPFS-based P2P image distribution with containerd and nerdctl. This session will also show the combination of IPFS-based distribution with the existing image distribution techniques, focusing on lazy pulling (eStargz) and image encryption (OCIcrypt). The status of integration work with other tools including Kubernetes will also be shared.
Related blog post: "P2P Container Image Distribution on IPFS With Containerd" . https://medium.com/nttlabs/nerdctl-ipfs-975569520e3d
source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
http://sched.co/EaYe
Until recently, running `docker build` against Dockerfile had been the only way to build container images.
However, lots of opensource software are being proposed as successors/alternatives to `docker build`:
- BuildKit (Moby Project / Docker)
- img (Jessica Frazelle / Microsoft)
- Buildah (Project Atomic / Red Hat)
- umoci & Orca (SUSE)
- Bazel (Google)
- OpenShift S2I (Red Hat)
Akihiro Suda compares these new tools' advantages and disadvantages.
His evaluation basis would include but not be limited to:
- Performance (Cache efficiency, Concurrency, Distributed Execution)
- Secret management, e.g. SSH and AWS keys
- Support for non-Dockerfile
- Non-root execution
- UI & UX
- Governance of the community
He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
01 Docker란 무엇이며, 왜 필요한가?
02 Docker의 핵심 개념과 용어
03 Do(ckerize) it yourself
Docker란?
애플리케이션을 개발(developing)하고, 배포(shipping)하고, 실행(running)하기 위한 Open Platform
OS-level Virtualization(Linux Container)를 제공하기 위한 구현 제품.
애플리케이션과 인프라스트럭처의 의존관계를 분리할 수 있는 방법
가상머신(Virtual Machine)의 단점을 극복할 수 있는 리눅스 컨테이너 기술의 구현
Docker Client : 명령어를 통해 Docker Daemon에 API를 호출하여 Docker Image와 Container를 관리할 수 있는 프로그램
Docker Daemon : Docker API 요청을 수신하여 Docker Object(Image, Container, Network, Volue 등)를 관리할 수 있는 프로세스
Docker Registry : Docker Image를 저장하고 관리하는 공간. Public Registry(ex. Docker Hub)와 Private Registry가 있음.
Dockerfile : Docker Image를 빌드하기 위한 정보 및 명령어가 작성된 파일 (Docker Image를 생성하는 방법 중 하나)
Docker Image : Dockerfile, Docker Registry, 또는 다른 Docker Image로부터 생성된 컨테이너 생성을 위한 Read-only Template
Docker Container : Docker Image 위에서 실행된 특수한 형태의 격리된 프로세스
01 Docker란 무엇이며, 왜 필요한가?
02 Docker의 핵심 개념과 용어
03 Do(ckerize) it yourself
Docker란?
애플리케이션을 개발(developing)하고, 배포(shipping)하고, 실행(running)하기 위한 Open Platform
OS-level Virtualization(Linux Container)를 제공하기 위한 구현 제품.
애플리케이션과 인프라스트럭처의 의존관계를 분리할 수 있는 방법
가상머신(Virtual Machine)의 단점을 극복할 수 있는 리눅스 컨테이너 기술의 구현
Docker Client : 명령어를 통해 Docker Daemon에 API를 호출하여 Docker Image와 Container를 관리할 수 있는 프로그램
Docker Daemon : Docker API 요청을 수신하여 Docker Object(Image, Container, Network, Volue 등)를 관리할 수 있는 프로세스
Docker Registry : Docker Image를 저장하고 관리하는 공간. Public Registry(ex. Docker Hub)와 Private Registry가 있음.
Dockerfile : Docker Image를 빌드하기 위한 정보 및 명령어가 작성된 파일 (Docker Image를 생성하는 방법 중 하나)
Docker Image : Dockerfile, Docker Registry, 또는 다른 Docker Image로부터 생성된 컨테이너 생성을 위한 Read-only Template
Docker Container : Docker Image 위에서 실행된 특수한 형태의 격리된 프로세스
이 발표는 [야생의 땅: 듀랑고]의 지형 배포 시스템과 생태계 시뮬레이션 자동화 시스템에 대한 이야기를 다룹니다. 듀랑고의 각 섬은 크기와 지형, 기후 조건이 다양하고 섬의 개수가 많아서 수동으로 관리하는 것은 사실상 불가능합니다. 몇번의 사내 테스트와 베타 테스트를 거치면서 이러한 문제를 해결해주는 자동화된 도구의 필요성이 절실해졌고, 작년에 NDC에서 발표했던 생태계 시뮬레이터와 Docker, 그리고 아마존 웹서비스(AWS)를 이용하여 수많은 섬들을 자동으로 생성하고 관리하는 자동화 시스템을 구축하게 되었습니다. 그 과정에서 했던 고민들, 기존의 애플리케이션을 "Dockerizing" 했던 경험, AWS의 각 서비스들을 적절히 활용했던 이야기, AWS의 각 지역별 요금이 상이하다는 점을 이용해서 비용을 절감한 사례, 그리고 자동화 시스템의 문제점과 앞으로의 방향에 대해서 이야기 할 계획입니다.
[17.01.19] docker introduction (Korean Version)Ildoo Kim
Docker(도커) 소개를 위해 사용했던 자료입니다.
제가 속한 개발팀에서는 도커 컨테이너를 기반으로 개발부터 배포까지 가능한 환경 및 인프라를 구축하여 개발팀에서 대다수의 오퍼레이션까지 관여하면서 Devops 형태로 운영합니다.
Docker(도커)를 처음 사용하거나 개념적으로 익숙하지 않은 초보를 위해 만든 자료입니다.
슬라이드에서 사용된 스크립트/코드는 아래에 있습니다.
https://github.com/ildoonet/docker_introduction
----
김일두, Software Engineer @ Kakao
Github : https://github.com/ildoonet
Linkedin : https://www.linkedin.com/in/ildoo-kim-56962034/
9. 버전 관리 (Version control)
• 소스 코드를 버전으로 관리하자!
• 게임의 Save point와 비슷한 개념
• Git, Mercurial, Bazzar, Subversion, …
• 취소 (Ctrl + Z) Revert / 저장 (Ctrl + S) Commit
• 백업 Push / Pull
• 브랜치(Branch), 태그 등등
10. 버전 관리 (Version control)
• Hosting: github, Bitbucket, gitlab 등등
11. 서버 개발하기
문제: A, B, C가 시간표 서버를 같이 개발하고 싶어한다.
환경 설정 매뉴얼의 압박…
A가 시간표에 기능을 개발하는 동안
B도 다른 시간표 기능을 개발할 수 있는가?
시간표 서버가 고장났다…
다른 시간표 서버로 바로 옮길 수 있는가?
서버가 뭔가 잘못됐다…
서버를 빨리 재시작 / 재구축할 수 있는가?
13. 가상화 (Virtualization)
• 운영체제 수업에서 배운 컴퓨터 구조
Hardware
Operating System
Application
• 호스트 기반 가상 머신을 이용하는
컴퓨터 구조
Hardware
Operating System
Operating System
Application
14.
15. 가상화 (Virtualization)
• 필요할 때마다 컴퓨터 (가상 머신) 만들기
• 웹 서비스용 VM: Ubuntu + Apache + PHP + MySQL
• 자바 수업용 VM: Windows + Java + Eclipse
• 결재용 VM: Windows + ActiveX + 공인인증모듈 + 공인인증서
• 가상 머신 관리
• 각 가상 머신별로 CPU, 메모리, 디스크 지정 가능 (나중에 변경도 가능)
• Snapshot: Save point
• 가상 머신 내보내기
• 가상 머신 가져오기
• Virtualbox, VMware, Xen, KVM..
28. Docker 활용하기
• Docker를 활용한 서버 개발하기 $ git clone ~
$ cd univ-whoareyou-server
$ docker-compose build
$ docker-compose up -d
29. Docker 활용하기
• Docker를 활용한 서버 개발하기
$ git pull ~
$ docker-compose build
$ docker-compose up -d
30. Docker를 활용해 서버 개발하기
문제: A, B, C가 시간표 서버를 같이 개발하고 싶어한다.
환경 설정 매뉴얼의 압박…? Container 실행하면 끝!
A가 시간표에 기능을 개발하는 동안
B도 다른 시간표 기능을 개발할 수 있는가? YES!
시간표 서버가 고장났다…
다른 시간표 서버로 바로 옮길 수 있는가? YES!
서버가 뭔가 잘못됐다…
서버를 빨리 재시작 / 재구축할 수 있는가? YES!
34. 참고
• https://www.docker.com/
• 도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다
http://www.slideshare.net/pyrasis/docker-fordummies-44424016
• 도커(Docker) 튜토리얼 : 깐 김에 배포까지
http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/
• Docker로 보는 서버 운영의 미래
http://www.slideshare.net/deview/1a6docker
• 예제: 작년 종합설계 때 썼던 웹 서버
https://bitbucket.org/jhgod/
univ-whoareyou-server