docker volume create rabbitmq
docker run -d --name rabbitmq --net=host -v rabbitmq:/var/lib/rabbitmq rabbitmq:management

 

docker exec -it rqbbitmq /bin/bash
rabbitmqctl add_user admin password
rabbitmqctl set_user_tags admin administrator
rabbitmq-plugins enable rabbitmq_management

'개발 > docker' 카테고리의 다른 글

MySQL 8 on docker  (1) 2018.11.04
Redis on docker  (0) 2018.08.13
Running RabbitMQ on docker  (0) 2017.12.19
docker ubuntu apt 미러 서버 교체하기  (1) 2017.07.08
sudo iptables -F
sudo netfilter-persistent save

'개발' 카테고리의 다른 글

Pyinstaller decompile  (0) 2019.10.24
Windows10 에서 npm 업데이트  (0) 2019.01.29
MongoDB setup on Ubuntu  (0) 2017.09.10
GIT 초기 최적화  (0) 2017.02.15
구글번역 사용시 코드영역 제외하고 번역하기  (1) 2017.02.12

Elastic Beanstalk 의 Docker 에서 Cuda가 지원되지 않는 문제

Elastic Beanstalk 에서 docker 런타임으로 배포시 g4dn 인스턴스임에도 컨테이너 안에서 gpu를 쓸 수 없는 문제를 발견했다.
구글링 결과 찾은 유일한 글(https://stackoverflow.com/q/59035690)의 솔루션은

  1. Deep Learning AMI 를 사용
  2. 환경변수에 NVIDIA_VISIBLE_DEVICES=all, NVIDIA_DRIVER_CAPABILITIES=compute,utility 넣기
  3. .ebextensions 에 command 를 추가해서 /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh 안에 있는 docker run -ddocker run --runtime=nvidia -d 로 replace 하기

그러나 최신 EB 환경 안에서는 00run.sh 를 찾을 수 없었고 배포도 실패했다.
EB 인스턴스 안에서 docker run 이라는 텍스트가 포함된 모든 파일을 / 부터 다 find 했는데도 그 비슷한 배치파일 하나 찾을 수 없었다.
아마도 EB 배포방식이 조금 달라졌나보다.

한참 헤매다가 docker default-runtime 을 nvidia 로 설정할 수 있는 방법(http://haanjack.github.io/docker/2018/02/21/nvidia-docker2-runtime.html)을 찾아서 /etc/docker/daemon.json 를 overwrite 하는 방법으로 문제를 해결했다.

 

Deep Learning AMI (Amazon Linux 2) Version 36.0 (ami-0550df853e1f98198) 에서
환경변수 NVIDIA_VISIBLE_DEVICESNVIDIA_DRIVER_CAPABILITIES 를 설정하고
.ebextensions/01-nvidia-docker.config 를 아래와 같이 작성했더니 잘 작동했다.

참고로 이미 다른 컨테이너가 띄워진 인스턴스에서는 ebextensions 를 작성해서 deploy 해도 바로 적용되진 않고 ec2 인스턴스에 접속해서 docker service 를 restart 해야 default runtime이 적용이 된다.
처음 만들어지는 인스턴스에는 restart를 할 필요 없이 바로 적용된다.
(첫 배포시에는 인스턴스를 다 죽이고 처음부터 배포하는게 편하다 ㅎㅎ)

+ Recent posts