도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3Ji-Woong Choi엔터프라이즈 고객사 IT 부서 담당자분들께 실습 교육을 위해 오픈소스컨설팅 한철희님께서 만든 자료입니다.
사전에 고객 테스트를 위해 실습환경을 완벽하게 만들어가는 센스!
기초부터 한 걸음이 얼마나 중요한 지 다들 아실거라 믿습니다.
Introduction to Docker ComposeAjeet Singh RainaThis document introduces Docker Compose, which allows defining and running multi-container Docker applications. It discusses that Docker Compose uses a YAML file to configure and run multi-service Docker apps. The 3 steps are to define services in a Dockerfile, define the app configuration in a Compose file, and run the containers with a single command. It also covers topics like networking, environment variables, and installing Docker Compose. Hands-on labs are provided to learn Compose through examples like WordPress.
Docker 101: An IntroductionPOSSCONThis document provides an introduction to Docker presented by Tibor Vass, a core maintainer on Docker Engine. It outlines challenges with traditional application deployment and argues that Docker addresses these by providing lightweight containers that package code and dependencies. The key Docker concepts of images, containers, builds and Compose are introduced. Images are read-only templates for containers which sandbox applications. Builds describe how to assemble images with Dockerfiles. Compose allows defining multi-container applications. The document concludes by describing how Docker improves the deployment workflow by allowing testing and deployment of the same images across environments.
Docker swarm introductionEvan LinDocker Swarm allows managing multiple Docker hosts as a single virtual Docker engine. The presenter demonstrates setting up a traditional Docker Swarm cluster with an external key-value store and load balancer. SwarmKit provides the core components of Docker Swarm as standalone binaries. Docker Swarm Mode is integrated directly into Docker Engine 1.12 and later, providing built-in orchestration without external components. The presenter then demonstrates a tutorial using Docker Swarm Mode to deploy a multi-container voting application across 3 Docker hosts and scale the service.
DockerA.K.M. AhsrafuzzamanDocker allows building, shipping, and running applications in portable containers. It packages an application with all its dependencies into a standardized unit for software development. Major cloud providers and companies support and use Docker in production. Containers are more lightweight and efficient than virtual machines, providing faster launch times and allowing thousands to run simultaneously on the same server. Docker simplifies distributing applications and ensures a consistent environment.
Docker 101 : Introduction to Docker and ContainersYajushi SrivastavaThis document provides an introduction to Docker and containers. It discusses why containers are useful for software deployment given changes in the industry. Containers provide lightweight isolation of applications and their dependencies. Docker is a tool that manages containers running on the same operating system kernel. Key Docker components include the client, server, images, and containers. Popular use cases of Docker include Google running over a billion containers per week and Finnish Railways saving 50% of cloud costs with Docker.
Introduction to dockerInstruqtDocker is a tool that allows users to package applications into containers to run on Linux servers. Containers provide isolation and resource sharing benefits compared to virtual machines. Docker simplifies deployment of containers by adding images, repositories and version control. Popular components include Dockerfiles to build images, Docker Hub for sharing images, and Docker Compose for defining multi-container apps. Docker has gained widespread adoption due to reducing complexity of managing containers across development and operations teams.
Docker introOleg ZDocker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
Docker: From Zero to HerofazalrajaDocker introduction, how it helps in environment setup from development to production and within teams. Also some practical work.
Introduction to Docker storage, volume and imageejlp12Docker storage drivers allow images and containers to be stored in different ways by implementing a pluggable storage driver interface. Common storage drivers include overlay2, aufs, devicemapper, and vfs. Images are composed of read-only layers stacked on top of each other, with containers adding a writable layer. Storage can be persisted using volumes, bind mounts, or tmpfs mounts. Strategies for managing persistent container data include host-based storage, volume plugins, and container storage platforms.
Docker 101 - Nov 2016Docker, Inc.Containers are not virtual machines - they have fundamentally different architectures and benefits. Docker allows users to build, ship, and run applications inside containers. It provides tools and a platform to manage the lifecycle of containerized applications, from development to production. Containers use layers and copy-on-write to provide efficient application isolation and delivery.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
Introduzione a Docker (Maggio 2017) [ITA]Valerio RadiceIntroduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Docker BasicsDuckDuckGoDocker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Docker IntroductionJeffrey EllinDocker is a system for running applications securely isolated in a container to provide a consistent deployment environment. The document introduces Docker, discusses the challenges of deploying applications ("the matrix from hell"), and how Docker addresses these challenges by allowing applications and their dependencies to be packaged into lightweight executable containers that can run on any infrastructure. It also summarizes key Docker tools like Docker Compose for defining and running multi-container apps, Docker Machine for provisioning remote Docker hosts in various clouds, and Docker Swarm for clustering Docker hosts.
Intro To DockerJessica LucciOverview of how containers are implemented with cgroups, namespaces and UnionFS, how images are created, how images and containers are related to one another, and how to build effective images
Docker introductiondotCloudDocker is a system for running applications in isolated containers. It addresses issues with traditional virtual machines by providing lightweight containers that share resources and allow applications to run consistently across different environments. Docker eliminates inconsistencies in development, testing and production environments. It allows applications and their dependencies to be packaged into a standardized unit called a container that can run on any Linux server. This makes applications highly portable and improves efficiency across the entire development lifecycle.
KubernetesLhouceine OUHAMZAThe document discusses various Kubernetes concepts including pods, deployments, services, ingress, labels, health checks, config maps, secrets, volumes, autoscaling, resource quotas, namespaces, Helm, and the Kubernetes Dashboard. Kubernetes is a container orchestration tool that manages container deployment, scaling, and networking. It uses pods to group containers, deployments to manage pods, and services for exposing applications.
Linux Container Technology 101inside-BigData.comChristian Kniep from Docker Inc. gave this talk at the Stanford HPC Conference.
"This talk will recap the history of and what constitutes Linux Containers, before laying out how the technology is employed by various engines and what problems these engines have to solve. Afterward, Christian will elaborate on why the advent of standards for images and runtimes moved the discussion from building and distributing containers to orchestrating containerized applications at scale. In conclusion, attendees will get an update on what problems still hinder the adoption of containers for distributed high performance workloads and how Docker is addressing these issues."
Christian Kniep is a Technical Account Manager at Docker, Inc. With a 10 year journey rooted in the HPC parts of the german automotive industry, Christian Kniep started to support CAE applications and VR installations. When told at a conference that HPC can not learn anything from the emerging Cloud and BigData companies, he became curious and was leading the containerization effort of the cloud-stack at Playstation Now. Christian joined Docker Inc in 2017 to help push the adoption forward and be part of the innovation instead of an external bystander. During the day he helps Docker customers in the EMEA region to fully utilize the power of containers; at night he likes to explore new emerging trends by containerizing them first and seek application in the nebulous world of DevOps.
Watch the video: https://wp.me/p3RLHQ-i4X
Learn more: http://docker.com
and
http://hpcadvisorycouncil.com
Sign up for our insideHPC Newsletter: http://insidehpc.com
Understanding docker networkingLorenzo FontanaThe document discusses different Docker networking drivers including null, host, bridge, overlay, and macvlan/ipvlan networks. It provides examples of creating networks with each driver and how containers on different networks will connect and obtain IPs. Specifically, it shows how the bridge driver sets up a private Docker bridge network (docker0 by default) and how overlay networks use VXLAN tunnels to connect containers across multiple Docker daemons.
Containerization and DockerMegha BansalGives a brief introduction of the emerging containerization technology, the difference in traditional VMs and Conatiners and the most popular one- Docker
[17.01.19] docker introduction (Korean Version)Ildoo KimDocker(도커) 소개를 위해 사용했던 자료입니다.
제가 속한 개발팀에서는 도커 컨테이너를 기반으로 개발부터 배포까지 가능한 환경 및 인프라를 구축하여 개발팀에서 대다수의 오퍼레이션까지 관여하면서 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/
Docker swarm introductionEvan LinDocker Swarm allows managing multiple Docker hosts as a single virtual Docker engine. The presenter demonstrates setting up a traditional Docker Swarm cluster with an external key-value store and load balancer. SwarmKit provides the core components of Docker Swarm as standalone binaries. Docker Swarm Mode is integrated directly into Docker Engine 1.12 and later, providing built-in orchestration without external components. The presenter then demonstrates a tutorial using Docker Swarm Mode to deploy a multi-container voting application across 3 Docker hosts and scale the service.
DockerA.K.M. AhsrafuzzamanDocker allows building, shipping, and running applications in portable containers. It packages an application with all its dependencies into a standardized unit for software development. Major cloud providers and companies support and use Docker in production. Containers are more lightweight and efficient than virtual machines, providing faster launch times and allowing thousands to run simultaneously on the same server. Docker simplifies distributing applications and ensures a consistent environment.
Docker 101 : Introduction to Docker and ContainersYajushi SrivastavaThis document provides an introduction to Docker and containers. It discusses why containers are useful for software deployment given changes in the industry. Containers provide lightweight isolation of applications and their dependencies. Docker is a tool that manages containers running on the same operating system kernel. Key Docker components include the client, server, images, and containers. Popular use cases of Docker include Google running over a billion containers per week and Finnish Railways saving 50% of cloud costs with Docker.
Introduction to dockerInstruqtDocker is a tool that allows users to package applications into containers to run on Linux servers. Containers provide isolation and resource sharing benefits compared to virtual machines. Docker simplifies deployment of containers by adding images, repositories and version control. Popular components include Dockerfiles to build images, Docker Hub for sharing images, and Docker Compose for defining multi-container apps. Docker has gained widespread adoption due to reducing complexity of managing containers across development and operations teams.
Docker introOleg ZDocker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
Docker: From Zero to HerofazalrajaDocker introduction, how it helps in environment setup from development to production and within teams. Also some practical work.
Introduction to Docker storage, volume and imageejlp12Docker storage drivers allow images and containers to be stored in different ways by implementing a pluggable storage driver interface. Common storage drivers include overlay2, aufs, devicemapper, and vfs. Images are composed of read-only layers stacked on top of each other, with containers adding a writable layer. Storage can be persisted using volumes, bind mounts, or tmpfs mounts. Strategies for managing persistent container data include host-based storage, volume plugins, and container storage platforms.
Docker 101 - Nov 2016Docker, Inc.Containers are not virtual machines - they have fundamentally different architectures and benefits. Docker allows users to build, ship, and run applications inside containers. It provides tools and a platform to manage the lifecycle of containerized applications, from development to production. Containers use layers and copy-on-write to provide efficient application isolation and delivery.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
Introduzione a Docker (Maggio 2017) [ITA]Valerio RadiceIntroduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Docker BasicsDuckDuckGoDocker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Docker IntroductionJeffrey EllinDocker is a system for running applications securely isolated in a container to provide a consistent deployment environment. The document introduces Docker, discusses the challenges of deploying applications ("the matrix from hell"), and how Docker addresses these challenges by allowing applications and their dependencies to be packaged into lightweight executable containers that can run on any infrastructure. It also summarizes key Docker tools like Docker Compose for defining and running multi-container apps, Docker Machine for provisioning remote Docker hosts in various clouds, and Docker Swarm for clustering Docker hosts.
Intro To DockerJessica LucciOverview of how containers are implemented with cgroups, namespaces and UnionFS, how images are created, how images and containers are related to one another, and how to build effective images
Docker introductiondotCloudDocker is a system for running applications in isolated containers. It addresses issues with traditional virtual machines by providing lightweight containers that share resources and allow applications to run consistently across different environments. Docker eliminates inconsistencies in development, testing and production environments. It allows applications and their dependencies to be packaged into a standardized unit called a container that can run on any Linux server. This makes applications highly portable and improves efficiency across the entire development lifecycle.
KubernetesLhouceine OUHAMZAThe document discusses various Kubernetes concepts including pods, deployments, services, ingress, labels, health checks, config maps, secrets, volumes, autoscaling, resource quotas, namespaces, Helm, and the Kubernetes Dashboard. Kubernetes is a container orchestration tool that manages container deployment, scaling, and networking. It uses pods to group containers, deployments to manage pods, and services for exposing applications.
Linux Container Technology 101inside-BigData.comChristian Kniep from Docker Inc. gave this talk at the Stanford HPC Conference.
"This talk will recap the history of and what constitutes Linux Containers, before laying out how the technology is employed by various engines and what problems these engines have to solve. Afterward, Christian will elaborate on why the advent of standards for images and runtimes moved the discussion from building and distributing containers to orchestrating containerized applications at scale. In conclusion, attendees will get an update on what problems still hinder the adoption of containers for distributed high performance workloads and how Docker is addressing these issues."
Christian Kniep is a Technical Account Manager at Docker, Inc. With a 10 year journey rooted in the HPC parts of the german automotive industry, Christian Kniep started to support CAE applications and VR installations. When told at a conference that HPC can not learn anything from the emerging Cloud and BigData companies, he became curious and was leading the containerization effort of the cloud-stack at Playstation Now. Christian joined Docker Inc in 2017 to help push the adoption forward and be part of the innovation instead of an external bystander. During the day he helps Docker customers in the EMEA region to fully utilize the power of containers; at night he likes to explore new emerging trends by containerizing them first and seek application in the nebulous world of DevOps.
Watch the video: https://wp.me/p3RLHQ-i4X
Learn more: http://docker.com
and
http://hpcadvisorycouncil.com
Sign up for our insideHPC Newsletter: http://insidehpc.com
Understanding docker networkingLorenzo FontanaThe document discusses different Docker networking drivers including null, host, bridge, overlay, and macvlan/ipvlan networks. It provides examples of creating networks with each driver and how containers on different networks will connect and obtain IPs. Specifically, it shows how the bridge driver sets up a private Docker bridge network (docker0 by default) and how overlay networks use VXLAN tunnels to connect containers across multiple Docker daemons.
Containerization and DockerMegha BansalGives a brief introduction of the emerging containerization technology, the difference in traditional VMs and Conatiners and the most popular one- Docker
[17.01.19] docker introduction (Korean Version)Ildoo KimDocker(도커) 소개를 위해 사용했던 자료입니다.
제가 속한 개발팀에서는 도커 컨테이너를 기반으로 개발부터 배포까지 가능한 환경 및 인프라를 구축하여 개발팀에서 대다수의 오퍼레이션까지 관여하면서 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/
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi- 클라우드 속의 Docker
- Docker Architecture & Build
- Docker 환경 구축
- Docker 데이터 볼륨, 이미지, 네트워킹
- Kubernetes 목적 및 활용
- Docker, Kubernetes 구성
- Docker Testing
Introduction to Docker - LOGISPOTHosang Jeon01 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 위에서 실행된 특수한 형태의 격리된 프로세스
Introduction to Docker - LOGISPOTLOGISPOT01 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 위에서 실행된 특수한 형태의 격리된 프로세스
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]David Lee저희 팀에서 Docker Swarm을 처음 도입한 계기는 사실 배포 자동화 프로세스 구축하고 싶었기 때문이었습니다.
처음엔 서버가 하나 뿐이여서 컨테이너 오케스트레이션의 묘미를 느끼지 못했는데 관리자, 푸시, 이벤트, 테스트 등등 여러 서버가 붙으면서 여러개의 서버를 관리해야 했는데
미리 구축해놓은 Docker Swarm이 많은 편의 기능을 제공하고 있어서 여러개의 서버를 관리하는 것도 개발자가 부담없이 할 수 있게 되었습니다.
이 슬라이드는 제가 서버를 구축하는 과정에서 겪었던 어려움들을 여러분은 겪지 않길 바라며 제작하게 되었습니다.
만약 이 슬라이드를 보시는 분이 Docker및 Docker Swarm을 처음 접해보시는 거라면 이 자료가 좋은 가이드가 될 수 있을 것 같습니다.
감사합니다.
이도현 드림
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong ChoiDocker compose를 활용하여 클라우드 서비스 제공자에 docker 서비스를 올리는 방법을 설명합니다.
본 슬라이드에서는 Digital Ocean에서 제공하는 서비스에 웹서비스를 위한 Docker를 구성합니다.
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine요즘 규모에 상관 없이 서버를 운영하는 웹서비스 업체에서는 도커라는 주제가 화두입니다. 오히려 발빠른 개발자나 운영자들은 이미 도커를 이용하여 서비스를 운영하고 있지요. 본 세션은 도커의 기술적인 내용 보다는 사용자 입장에서 알아야 할 내용을 중심으로 구성됩니다.
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude KimGoogle Cloud Platform 인 Compute Engine에 Docker 를 올리기.
Docker에 JVM 소프트웨어인 JIRA 및 Confluence를 설치하고 실제 서비스단계까지의 구성은 어떻게 하는지에 대한 설명입니다.
Docker 로 Linux 없이 Linux 환경에서 개발하기iFunFactory Inc.2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
Docker introduction for the beginnersJuneyoung Oh1. Docker allows creating lightweight virtual environments called containers that package code and dependencies together. Containers are more portable than virtual machines.
2. Docker uses images to build containers. Images are immutable templates and containers are instances of images that can be run. The Dockerfile defines how to build images.
3. Common Docker commands include docker pull to download images, docker run to create and start containers, docker exec to run commands in running containers, and docker commit to save container changes as new images.
How to build a slack-hubot with jsJuneyoung OhThis document provides instructions for installing Hubot on OSX and writing custom scripts for it in JavaScript to create a bot for Slack. It outlines installing Hubot and its dependencies, deploying it to Heroku, configuring it for the Slack adapter, and publishing scripts to it. Tips are provided like checking Heroku logs for debugging and referring to CoffeeScript code since documentation for the JavaScript version is limited. The overall process allows one to make a fun bot for Slack without an extensive programming background.
Tizen installation guide for OSXJuneyoung OhI had bunch of troubles, when I install and run Tizen IDE on my macbook air 13'. So I sumed what happens up. Thanks
5. docker 의 구조
LOCAL
docker hub
이미지 다운로
드
이미지 업로드
로컬에 저
장
이미지로부터
컨테이너 생성
컨테이너로부
터
이미지 업데이
트
[ 이미지 ]
- 변경 불가능(immutable)
- docker hub 로 업데이트 가
능
[ 컨테이너 ]
- 변경 가능(mutable)
- docker hub 로 업데이트 불가
능
- 이미지로 저장되지 않는 한 정
보가 보존되지 않음
6. docker 의 명령어 친해지기
1 : 다운로드에서 작업까지
docker pull centos:latest
- docker hub 로부터 이
미지를 내려받기
- <이미지명>:<태그
명>
docker run -d --name=test centos:latest
- 다운받은 이미지로부터 컨테이너 생
성하기
- -d 혹은 --detach : 데몬모드로 실행. -d
누락 시. 컨테이너의 상태가 Exited 로
전환됨
- --name : 생성한 컨테이너에 이름을
부여. 누락시 난수화된 컨테이너 ID로
작업을 해야하니 꼭 부여하기
docker exec -it test /bin/bash
- 만들어진 컨테이너에 접속
하기
- -i : interactive
- -t : tty 모드
- 제일 끝에는 명령어
7. docker 의 명령어 친해지기
2 : 작업 후 업로드
docker commit test testimg
- 컨테이너를 이미지로 커밋하는
작업
- 첫번째 인자는 컨테이너명
- 두번째 인자는 새로 등록할 이미
지명
1. docker tag testimg juneyoungoh/education:test
- 새로 등록할 이미지에 tag 를 부여하기
- 두번째 리파지토리명 인자는 반드시 <도커허브 유저
ID>/<리파지토리명>:<태그명> 일 것
- 하기 전에 docker login 하기
2. docker push juneyoungoh/education:test
- 새로 변경된 로컬 이미지를 허브에 등록하는 작업
- 인자는 1 번에서 두번째 인자와 동일
8. docker 의 명령어 친해지기
3 : 작업과 디버깅 1
[ 이미지와 컨테이너 ]
현재 로컬에 내려받아진 이미지 목록 조회하기 : docker images
현재 로컬에서 사용하는 컨테이너 목록 조회하기 : docker ps
호스트에서 컨테이너로 파일 전송하기 : docker cp <호스트 파일> <컨테이너ID>:<컨테이너 경로>
구동 중인 컨테이너 구동/멈추기 : docker start/stop <컨테이너ID>
컨테이너 삭제하기 : docker rm <컨테이너ID>
사용하지 않는 이미지 삭제 하기 : docker rmi <이미지 ID>
9. docker 의 명령어 친해지기
3 : 작업과 디버깅 2
[ 디버깅 ]
Case1. run 명령으로 컨테이너를 구동 후, ps 를 했는데 뜨자마자 Exited 로 상태가 표시
- docker logs <컨테이너 ID> : 컨테이너의 로그를 확인
Case2. docker 데몬이 <defunc> 상태에 돌입
- 노답. 장비 리부팅. docker 데몬은 부모의 pid 가 1 이기 때문에 <defunc> 상태로 빠지게 되면 장비 리
부팅 뿐이 답이 없음
10. docker 데몬 설정 변경하기
Case A.
열심히 작업하고 있는데 새로운 container 가 뜨지 않아 프로세스를 확인하니, 데몬이 <defunc> 상태로 빠짐.
이 부장님 왈, “/var/lib 은 용량이 적어서 docker 데이터 파일을 /data 로 옮겨야 됨”.
- 기본으로 잡히는 설정을 변경하려면 daemon.json 을 만들어줘야 함.(있으면 쓰면 됨)
- centos 에서는 /etc/docker 에 만들어 줘야 하는데 파일이 없으면 생성하면 됨
- daemon.json 작성법 공식 가이드
Case 2. 리눅스 default 를 붙여넣었는데 아예 뜨지도 않음
- stackoverflow 에서 알려줌
- 쓸 거 빼고는 json 에서 모두 제거해야 함.
12. 고오급 기술 : Dockerfile
docker build -t test .
- -t 다음에는 사용할 태그명을 넣으시오.
- . 대신에 Dockerfile 이 있는 경로를 넣음
됨
Dockerfile ?
- 기본적으로 쉘스크립트
- 이미지가 구동될 때 할 행동을 미리 정의할
수 있음
- 가령, 내가 test 이미지를 run 하면 자동으로
jdk 랑 톰캣을 깔아서 웹서버를 띄워줘
13. Dockerfile 활용하기
[ Dockerfile 키워드 ]
- FROM : 모든 도커파일을 FROM 으로 시작함. FROM 뒤에는 배경이 될 이미지가 명시. ex> FROM
centos
- ARG : docker build 명령시 --build-arg <ARG명>=<사용할 값> 으로 받을 수 있는 파라미터
- ENV : 생성된 docker image 내에서 사용할 환경 변수, 가령 JAVA_HOME 이라던가
CATALINA_HOME 이라던가…
- RUN : 이미지 내에서 실행될 명령
- EXPOSE : 도커 컨테이너에서 호스트로 개방될 포트를 명시
- VOLUME : 도커 컨테이너에서 호스트와 공유할 볼륨을 명시
- CMD : docker run 에 매핑되는 명령어 ● Dockerfile 예시는 참고자료 항목 참조
14. Dockerfile 활용하기
[ Dockerfile 디버깅 ]
CASE A.
갑돌이는 아래와 같이 Dockerfile 을 작성하였다. docker build 로 성공적으로 이미지를 생성하고 docker run
을 하였다. 당연히 상태가 Up 일 줄 알았지만 Exited 로 표기 되며 정상 구동이 되지 않는다.
StackOverflow 에 물어보기
15. docker 사용해보니 ...
장점
- 망쳐도 컨테이너 안에서 망침. 마음이 가볍다
- 한번 Dockerfile 만들면 배포하기 쉬움
- 레이어로 관리되서 업데이트가 빠르고 가벼움
- 신기하고 재미지다(?)
단점
- 설정하는 사람은 시스템을 다 알아야 함 (뭐는 루비고, 뭐는 파이썬이고)
- 한글 레퍼런스가 부족함
- <defunc> 문제는 노답
16. 부록. Docker hub 사용하기
How to use
1. 도커허브 로그인
2. Create Repository +
3. 로컬에서 docker tag
4. 로컬에서 docker push
Question. 다른 repository 보
니까 Dockerfile 도 tab 으로
제공되던데…
1. 유료플랜에서 제공
2. 대부분 무료플랜은
github에 dockerfile 을
연동하는 방식으로 극
복● 무료 플랜 Dockerfile github 연동은 여기처럼 하
면 됨
17. 참고 자료
- docker 공식 가이드 : 영어만 되면 제일 확실함
- pyrasis - 도커 무작정 따라하기 : 강추! 완전 이 PPT 를 보고나면 책을 살 필요성을 못느끼게 됨
- 교육에 사용되는 DockerHub
- 교육에 사용된 GitHub