ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 시작
    project 2022. 5. 22. 20:02

    Docker 를 쓰려는 이유는 2가지다

    1. 팀 프로젝트 하면서 배포 환경을 수동으로 설정 + 배포를 했는데 자동화시키면 좋을거 같았다.

    (로컬에선 잘 되다가 서버에 올리니까 오류가 뜨고.. 그래서 매일 새벽에 일어나서 업데이트를 했다. )

     

    2. 학교 팀 프로젝트에서 conda container 를 썼는데 편했다. Tensorflow 가 제거에선 되는데 ㅇㅇ님 컴에서는 안되요 ~할 때 container 복사 해 드릴까요 이런 식으로..

     

    요즘 기술을 이해하고 써야 한다는 생각이 드니까, 이론적인것도 같이 공부하자.

    이론적인거 + 실제 써보는거 기록해 보자.

     

     


     

    Docker 는 container 기술로, https://docs.docker.com/get-started/overview/  -> delay reduces between writing code and deploy. 새 코드를 수동으로 배포할 때 이상한 오류가 나서 1시간이 걸린 적이 있었다. docker 를 사용할 경우 그런 문제를 해결할 수 있다.

     

    Docker 는 os level dependency manager 이고, 파일 시스템을 감싸서 dependency 를 제공한다. 

     

    비슷하면서 다른 친구들이 있는데, conda 와 virtual machine 이다. Conda 는 python 에서 container 인 점이 다르고, virtual machine 은 os 를 포함한다는 점이 다르다.

     

    또한 sandboxing 해서 보안적으로 좋다. 

     

    ( 학교 수업에서 배운 내용을 써먹어 보니까 좋다 .. )

     

     

    ( 오류가 있을거고 점점 수정할 것.. )

    Dockerfile 을 작성해서 docker build 를 해야 한다.

    docker build -t repository_name 처럼 빌드할 수 있고, 그 결과로 로컬에 생긴다.

    docker push 로 docker hub 에 push 할 수 있다.

     

    Dockerfile 에서 image 를 inherit 해서 쓸 수 있다.

    Image 를 dockerhub 에서 pull 해서 쓸 수 있다. 

    docker pull repository_name 으로 pull 할 수 있디.

    docker run -d -p 80:81 repository_name 으로 실행할 수 있는데, host port 80 과 container port 81 을 mapping 하고 -d 는 daemon 으로 실행한다는 뜻이다.

    repository_name 이 로컬에 존재할 경우 실행하고, 존재하지 않을 경우 dockerhub 에서 가져온다.

    latest 를 실행하는 것이 default 다.

     

    Docker compose 는 yaml 파일로 image 들을 orchestrate 하는 방법이다. yaml 파일만 배포해서 쓸 수 있을 거 같다.

     

    ... 진짜 편한 기술이다 오 ㄷㄷ..

    'project' 카테고리의 다른 글

    광고 프로젝트 - 개발 일기  (0) 2022.06.01
    SnsChats - 개발 일기  (0) 2022.05.25
    Spring security 5 OAuth2 공부한거  (0) 2022.05.06
    테스트 코드의 중요성, TDD  (0) 2022.04.30
    Spring security > 5.1 jwt 인증하는 방법  (0) 2022.04.25
Designed by Tistory.