본문 바로가기

Docker & Kubernetes/Docker

[Docker-Compose] 도커 컴포즈 설치 및 사용

반응형

이번 포스팅은 도커 컴포즈 설치와

사용방법 등을 다룬 내용입니다.

 

 

 

도커 설치

- 도커 컴포즈 설치 전, 도커를 설정하고 사용방법을 아래 포스팅을 통해 익힌다. 

- 도커 설치 포스팅 : https://soyoung-new-challenge.tistory.com/52

 

[Docker] Ubuntu 18.04 도커 시작하기

아래 튜토리얼은 도커/쿠바네티스를 활용한 컨테이너 개발 실전 입문 책을 바탕으로 작성 한 내용입니다:) 01. 도커 설치하기 $ 우분투는 apt 패키지 관리자를 사용, 먼저 패키지 목록 업데이트 $ sudo apt update..

soyoung-new-challenge.tistory.com

 

 

도커 컴포즈 설치

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

- 도커 컴포즈 설치 (버전은 원하는 대로 정할 수 있다)

- 최신 버전을 다운 받고 싶을 경우에는 아래 링크에서 최신 버전 확인

 

https://github.com/docker/compose/releases

 

docker/compose

Define and run multi-container applications with Docker - docker/compose

github.com

 

$ sudo chmod +x /usr/local/bin/docker-compose

- 도커 컴포즈에 권한을 설정.

 

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

- 심볼릭 링크 설정 (설정을 안해주면 아래와 같은 path에러 발생)

 

$ docker-compose -version 

- 설치 된 도커컴포즈 버전 확인

 

 

도커 컴포즈 shm_size 설정

- 실제 도커 컨테이너 안에서 딥러닝 모델을 띄워놓고 작업 시 shm_size 에러가 발생

- default로 지정 된 용량이 작기 때문에 재설정이 필요함

에러 발생 화면

- 우선 호스트의 /dev/shm 메모리를 확인 한다

# 결과 중에서 /dev/shm을 확인한다
df -h

확인 결과

- 확인해보면 호스트의 /dev/shm 용량은 30G가 사용 가능.

- 실제 호스트 공간의 전체를 도커가 공유 할 수 있도록 설정한다. (개인 별 상황에 맞게 조정하면 된다)

$ vi docker-compose.yml

- 위의 이미지와 같이  이름 하단에 build와 같은 라인에서 shm_size을 작성해줘야 적용이 된다. (30G로 설정)

실제 적용이 되었을 때의 df -h 결과 화면

 

<Trouble shooting>

- 처음에 아래와 같이 shm_size를 build아래에서 지정

 

- 실제 호스트에서 df -h 로 확인을 해보면 아래와 같이 적용이 안되어 있음을 확인 할 수 있음 (64M으로 설정)

적용이 안되어있을 때 화면

- 관련해서 검색을 해보면 stackoverflow에서 아래와 같은 답변을 확인함

 

출저 : &nbsp;https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container

 

- 이미지를 빌드할 때가 아닌 실제 running이 되고 있을 때 필요한 공간이기 때문에 service 바로 밑에 지정해줘야 한다.

- 관련링크 : 

https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container

 

How to increase the size of the /dev/shm in docker container

Currently When I create new docker container the size of the shared memory directory is limited to 64MB. But, I need to increase this size since my application depend on this shared memory. Is ther...

stackoverflow.com

 

 

 

 

반응형