docker_quick_start
-
Upload
sukjin-yun -
Category
Engineering
-
view
354 -
download
0
description
Transcript of docker_quick_start
![Page 2: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/2.jpg)
Revision History
• 2014.11.01 - first commit
![Page 3: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/3.jpg)
Docker 탄생 배경
• Docker를 알기 전에
• Chroot -> LinuX Container -> Docker
![Page 4: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/4.jpg)
Problem
시스템 구성 후에 서비스가 성장함에 따라서 설정을 계속해서 변경하고 확장을 위해서 코딩 외적으로 해야할 작업이 많으며 scale out 방식으로 아키텍처를 가져갈 경우에업무부하가 기하급수적으로늘어남
![Page 5: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/5.jpg)
Solution
• 캔트백 옹 "인터페이스와 구현을 분리하라"호스트코드와 서비스 코드를 분리하자.
![Page 6: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/6.jpg)
Immutable System
• 호스트OS와 서비스 운영을 분리하자.
• 서비스 변경 사항이 있으면• OS레벨에서부터 교체
![Page 7: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/7.jpg)
Docker란
• Container LinuX Container 의 강화판
• 프로세스의 독립• 프로그램을 하나 더 실행시키는 느낌• OS가 들어있지 않음
GuestOS
App
GuestOSGuestOS
App App
VM
![Page 8: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/8.jpg)
docker 설치
• boo2dockerwindow나 mac에서 boo2docker https://github.com/boot2docker/boot2dockercentos7 sudo yum install dockerUbuntusudo apt-get updatesudo apt-get install docker.iosudo ln -sf \ /usr/bin/docker.io /usr/local/bin/docker
![Page 9: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/9.jpg)
container 확인
• docker ps -a
![Page 10: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/10.jpg)
docker 컨테이너 조작 명령
• start | stop | restart | attach(접속)rm 삭제
• docker rm 부여한이름• 전체 삭제• docker rm 'docker ps -
aq'
![Page 11: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/11.jpg)
Container만들기
docker run -i -t ubuntu /bin/bash우분투 이미지를 다운받아서/bin/bash를 실행한다.이름을 넣어서 실행docker run -i -t --name my_ubuntu ubuntu /bin/bash
![Page 12: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/12.jpg)
ubuntu 명령으로 test
![Page 13: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/13.jpg)
docker image 만들어서 배포하기
• Prerequisitionhttps://hub.docker.com/회원가입 후 add Repository click해서 repo생성
![Page 14: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/14.jpg)
Docker 파일 생성
• vi Dockerfile• ##contents dockerfile• FROM busybox• CMD echo 'hello docker!'
busybox가 가벼워서 선택from에 운영체제 입력하면 된다.cmd는 수행할 명령이다.
![Page 15: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/15.jpg)
Docker 파일 build
• docker build -t 계정명/프로젝트명 .
계정명은 가입한 계정과 동일하게 프로젝트명 뒤에 (.) 잊지마세요.
![Page 16: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/16.jpg)
build한 Docker 실행
![Page 17: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/17.jpg)
docker login
• 쉘에서 login사이트에 push를 위해서 먼저 로그인합니다.docker login 입력
![Page 18: docker_quick_start](https://reader034.fdocuments.net/reader034/viewer/2022042816/559770471a28ab3d0e8b4613/html5/thumbnails/18.jpg)
docker push
• https://hub.docker.com/에 배포
• docker push 본인id/프로젝트명