[항해99] 71일차 & 72일차 독커? 닥커! docker! 다커야 멍충이들아

IT/Bootcamp 항해99|2021. 8. 16. 22:20

항해 99

 

 

71일 차 : 

 

docker 를해야된다

 

72일 차: 

전화하고 반쯤 잔상태로 왔더니   어런게있엇다..  저거보고 오? 이러고 바로 자러 감... 

그래서 TIL 어저께 못썼으니 묻고 떠 블로 간다 

 

 

 

 

1) Docker 

 독커 , 닥커  whatever 

 

docker는 컨테이너 기반의 오픈소스 virtualization 플랫폼 :

 특정한 서비스를 패키징하고 배포하는데 유용한 프로그램.

 

이거그래서 왜써야 하나고 ? 

배포 및 운영을 효과 적으로 할수있게 도와준다.  그래서 그뜻이뭐야 ?

환경설정을 안해도대 ,

 

 

 

컨테이너 : 

실행환경 및 운영체제를 컨테이너로 추상화하여 배포 및 관리 과정을 단순화한 것 

학교 ppt에서 걍 뺴옴 근데 구글에도 있네 교수가 구글에서 퍼오냐 ?

 

docker장단점:

 장점 :

속도가 빠르다. 

하드웨어를 좀 더 효율적으로 사용 가능하다.

실행환경 구성 및 유지보수가 간단하다 

 

단점:

 

리눅스 친화적

개발 초기 및 작은 개발그룹 이면 도커 사용 필요 없음 - ( 부분을 잘 설명을 해야 할 것 같다 )

 

lxc라는 linux의 개념을 쓰기 쉽게 한 것이 docker

 

git과 github의 관계

docker - docker hub관계 

docker serach ubuntu
// ubuntu의 이미지들이 버젼벌로 나온다 
//혹은 docker hub에가서 검색으로 찾아보는게 더 쉽게 찾을수있다. 


docker pull ubuntu:14.04
// 우분투 14.04 이미지를가져온다.

docker images 
//모둔 이미지를 볼수있다


docker run -i -t mysql:5.7 /bin/bash
// 메인실행파일을 실행해서 터미널 (cli)를 열어준다


docker start ${name}
//처음에 지정안해주면 docker가 알아서 이름을 지정해준다.
docker ps
//ps로 현재 실행중인 컨테이너들을 확인할수잇따
docker ps -a 
//실행안해도 모든 컨테이너 
docker stop ${name}
// 컨테이너종료

// ctr + p q하면 컨테이너를 끄지않고 배쉬만나올수잇따
docker attach ${name}
//실행중인 컨테이너에들어갈수잇다
// 14번줄 ==  18 & 24번줄

docker rmi imgId
//이미지삭제

 

 

 

여기까지가 기본으로 

docker 실행 - 이미지 다운로드 (pull) - 컨테이너 실행 , 삭제.

여기서 뭘 어떻게 해야 우리 프로젝트에 써먹을 수 있을까?

이걸 왜 썼냐고 물어봤을 때 뭐라고 대답해야 할까? (그냥 닥커의 장점 말고...)라고 멍을 때리는 순간 갑자기 유튜브 추천 동영상에 

생활코딩 1시간 전에 따끈따끈하게 올라온 게 눈에 띄었다.

https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=1&t=12s 

이 정도면 docker 쓰라는 계시인 거지. 

그래서 바로 들어봤다.

 

 

생활코딩 Docker입문 수업 

 

1.  한대의 컴퓨터에서 각각의 격리된 실행환경  container에서 앱을 실행한다.

    운영체제가 하나니깐 비용가 시간에 줄어든다.

    CaaS 중에 하나가 docker. 

 

2. 설치

 

docker는 linux base야.

docker를 깔면 알아서 해준다 이런 거. 당연히 linux에서 발로 올려서 쓰는 게 최곤데 mac이나 window 에서  docker를 사용하는 이유는 그래도 개짱 좋아서 쓰는 거야.

 그냥 docker website 가서 다운로드해. 

 

https://www.docker.com/

 

3. 이미지 pull

여러 개의 컨테이너를 가질 수 있어.

컨테이너는 이미지로 만들어

이미지는 docker hub (porn hub 아니야;; 아 물론 나도 이 사이트 젤 좋아해)에서 다운로드해 

여기서 원하는 이미지 다운받어  

https://hub.docker.com/_/httpd

여기서 명령어 확인해

https://docs.docker.com/reference/

docker pull httpd

로 다운로드하자

docker gui로 받을 수도 있는데 

허접들이나 쓰는 거니깐 우린 cli 쓰자

 

 

4. run container

 

httpd이미지로 컨테이너만들어

 

docker run httpd 

docker run --name ws2 httpd 
// 컨테이너 만들기 원하는이름 --name옵션으로 설정 
docker start ws2 
//컨테이서 실행 
docker logs -f ws2 
// 로그watching 할수잇어

docker rm ws2 
//도커 삭제 하는거야. 근데 실행중인건  
docker stop ws2 
// 실행하는걸 멈춰

docker rmi 이미지이름
// 이미지도 삭제할려면 이걸쓰자

 

5. 네트워크 

docker run -p 80:81 httpd 

// 80 요청 이들어오면 
// 81 으로 넣어줘

뭐야 docker desktop개좋자나 나도 그냥 허접이니깐 걍 이걸로쓸까 

 

 

 

이걸로 ws3를 만들고 포트포워딩은 80801->80으로지정

확인할려면 docker ps -a  에 포트부분에 잘써잇지 

 

 

6. 명령어 실행

 

컨테이너 내에있는 cli 키는거야 물론 걍 desktop 에있는 버튼 하나만 누루면 되김함.

난 허접이니깐 그걸로쓸꺼야 

docker exec ws3 pwd 
docer exec ws3 ls

//딱 뒤에 ls pwd말 싱행되고 멈춤


 docker exec -it ws3 /bin/sh
 // cli켜는법
 
 그 컨테이너  cli 에서
 apt update 
 apt install nano 
 
 cd .. 
 cd apache2/htdocs/index.html
 //로 가서 직접바꿔줄수있어 nano깔앗으니깐

7.  호스트와 컨테이너의 파일시스템 연결 

host안에서  코드를 관리하고 ,  이거를 컨테이너 파일시스템이랑 연결을 하면 더편하지않겟냐 

그럼일일이 컨테이너 안들어가도돼자나

docker run -p 8888:80 -v ~/내컴퓨터 fs : /user/local/apache2/htdocs/ httpd 
//내 컴퓨터 파일시스템 -> 을 저기 아파치 서버에잇는 거랑 연결시켜준다

 

 

 

 

 

어머나이게머야 

 

https://seomal.com/map/1/129

 

Seomal - 서말

 

seomal.com

 

 

 

 

 

docker 기본 설명:

https://hanhyx.tistory.com/27

 

도커(Docker)의 개요 및 장점 그리고 도커를 쓰는 이유

안녕하세요 오늘 포스팅에 앞서 도커 공식 서비스의 메인 로고를 보여드렸습니다. 마치 고래같은 범선 (이미고래잖아..) 이 컨테이너를 운반하는 모습처럼 생겼네요. ( 내 최애...귀염귀염 ) 우선

hanhyx.tistory.com

docker 쓰는 이유 :

https://www.44bits.io/ko/post/why-should-i-use-docker-container

 

왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유

컨테이너는 서버 애플리케이션을 배포하고 서버를 운영하는 표준적인 기술이 되어가고 있습니다. 하지만 처음 사용해본다면 그 장점이 잘 와닿지 않을 수도 있습니다. 왜 굳이 도커 컨테이너를

www.44bits.io

더보기

Docker :

 

Part of virtual machine. 

A popular CaaS technology on Linux 

 

Pros : 

 

Much more efficient use of "bare metal" hardware resource (infrastructure)

more efficient use of cpu cycle , main memory

no need to maintain an entire os stack

rebot times orders of magnitue better than reboot VMs

 

Cons :

True Vms allow better isolation
Containers have possible port collisions ( if you run many containers )
No access to OS-level deamons

 

 

Iaas : hardware virtualization

caas: application virtualization 

 

 

Container  , image , 

 

containers:   

                        the cookie.   ,  running instacne of application 

                         installed n top of some "base" image 

                        isolated from other containers and from the guest OS 

 

image :   cookie cutter 

               "pre-canned" software stack 

                 blueprint for containers

                 

 

 

 

 

 

깃허브 파도 파도 계속 나오는 느낌

 

git stash로 임시 보관 이 가능하다.  뭔진 모르겠지만... 내가 쓰는 기능 말고도 뭔가 숨겨진 게 많은 것같으다. 

 

https://mylko72.gitbooks.io/git/content/_stash.html

 

스테이시(stash)에 안전하게 보관 · Git, 분산버전 관리시스템

 

mylko72.gitbooks.io

 

왜 jwt가 진짜 sucks 해 -  근데 2017년 자료.

물론 난안 읽었음.

 

https://developer.okta.com/blog/2017/08/17/why-jwts-suck-as-session-tokens

 

Why JWTs Suck as Session Tokens

Learn why you should never use JSON web tokens as session tokens (either in cookies or HTML local storage).

developer.okta.com

 

제일 많이 쓰이는  authenticate 

https://stackoverflow.com/questions/58339005/what-is-the-most-common-way-to-authenticate-a-modern-web-app

 

What is the most common way to authenticate a modern web app?

I'm writing a web app (REST API) using Spring, Spring Security. Right now I have Basic authentication and a really straightforward authorization using username, password and roles. I want to improv...

stackoverflow.com

 

반응형

댓글()