docker 5

05. docker-compose 환경에서 임시 nginx proxy 구성하기

docker-compose로 서버 애플리케이션을 작성할 때, 테스트 목적 혹은 임시로 nginx를 띄워 proxy시켜야할 경우가 있다. host os에 직접 nginx를 설치시켜 세팅해도 되지만, nginx가 설치 되어있지 않는 경우엔 굳이 임시 용도로 설치 및 세팅해야하는 번거로움이 있다. nginx 를 docker 이미지로 가져와 conf 파일을 이용하면 간편하게 구성이 가능하다. 직접 docker로 실행할 수도 있지만, docker-compose로 실행하는 것이 더 간편하니까... 아래와 같은 예시를 공유해 본다. 루트 폴더명이 example/ 일 때를 가정 중요한 것은 proxy 부분.. (nginx의 80번을 통해 worker 서비스의 22222번으로 우회시켜 주고 싶은 상황) example/d..

docker 2020.10.21

04. 반복 작업 속에서 docker build 시간이 오래 걸릴 때

서버 애플리케이션을 dockerfile로 정의하면서 개발할 때 개발 과정에서 코드 수정 -> build -> run 과정을 계속 반복하게 된다. 이 때 필요 라이브러리들이 설치되는데 시간이 오래걸린다면 생산성이 크게 저하될 수 밖에 없다. 이 때, 준비 시간이 오래 걸리는 것들을 모아 base 이미지로 정의하고, 자주 바뀌는 부분에선 base 이미지를 상속 받아 Dockerfile를 정의해서 씀으로써 빌드 시간을 크게 줄일 수 있다. base 이미지 예시 FROM nvidia/cuda:10.2-base-ubuntu16.04 MAINTAINER Jein Song ENV PATH /opt/conda/bin:$PATH ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8 # etc. RUN apt-..

docker 2020.10.21

03. Docker 이미지 저장 경로 변경법

OS가 설치된 디스크 영역이 작을 때, 도커 이미지로 넘쳐나 용량이 부족해지는 문제를 방지하기 위해서 애초에 도커를 설치하고 나서 혹은 사용 중간에 도커 이미지 저장 경로를 변경할 수 있다. vim /usr/lib/systemd/system/docker.service => ExceStart=/user/bin/docker -g /새로운경로 위와 같이 추가해주고, sudo systemctl restart docker 를 입력해주자. 중간에 docker.service 파일이 변경 되었으니 어떤 명령어를 먼저 쳐주라는 에러가 나올 수도 있는데, 시키는 대로 해주면 된다. (19.03 버전 기준)

docker 2020.07.29

02. Docker-compose, Swarm

Dockerfile 작성 및 Build 방법 일단 책들을 보면 Bash 사용법을 장황하게 + 친절하게 설명해주는 경우가 있는데 꼭 그걸 다 알 필요는 없고, 실제 유즈케이스들을 참고해서 적절히 변형해서 쓰면 된다. 지레 겁먹을 필요가 없는 것! 그래도 필요하다면 참고하자. 이전에 정리해두었던 bash 사용법 링크 dockerfile 작성 후 build하는 방법 기본에 대한 링크 docker-compose로 여러 컨테이너 관리하기 시스템을 도커 컨테이너를 활용해서 구성할 때, 여러 종류의 컨테이너를 키고/끄고 서로 통신하는 경우가 있다. 이 때, 직접 각각을 docker 명령어를 통해 제어할 수 있지만, docker-compose를 적절히 활용하면, 많은 수고를 덜 수 있다. (특히, 하나의 서버 내에서 ..

docker 2020.07.29

01. Docker 기본 명령어

주요 명령어들 특히 자주 쓰는 것들은 강조 표시를 해두었다. 기본적으로 루트 권한이 필요하므로 필요한 경우엔 현재 계정을 docker 그룹에 포함 시킬 필요가 있다. sudo usermod -aG docker ${USER} sudo service docker restart docker hub로 부터 ubuntu 이미지 검색 예시 docker search ubuntu docker hub로 부터 이미지(이미지이름:태그) 받기 docker pull ubuntu:latest 이미지 목록 출력 docker images 컨테이너 생성 - i, t 옵션 지정시 실행된 bash 셸에 입출력이 가능하다. (-it) - p, P 옵션을 통해 포트 바인딩이 가능하다. - d 옵션으로 백그라운드 실행이 가능하다. docker..

docker 2020.07.29