검색결과 리스트
글
Docker (도커)
나의 팀에서 도입하여 개발도구로 쓰이고 있는 Docker
와
현재 사회적 이슈가 되고 있는 암호화폐
그리고 블록체인
...
"Docker로 코인을 채굴을 할 수 있을까?" 'Docker
' 'Coin
' 'Mining
' 이 세 단어로 열심히 구글링해 보았더니
모네로
와 제트캐시
의 채굴 이미지를 ServeTheHome
이라는 곳에서 공개하고 있었다.
도커가 정말 훌륭하고 좋은 기술인데, 재밌게 배워보고 싶다면 코인채굴
은 좋은 동기부여가 될수 있을 것 같다.
1. minergate.com (마이너게이트)
우선 마이너게이트(https://minergate.com/)에 가입한다. 자신의 Email로 가입해 두면 된다.
사실 굳이 Docker를 이용하지 않아도, 이 사이트에서 채굴전용 프로그램을 다운받아서 채굴을 할 수 있다.
컴퓨터 뿐만아니라 Android AppStore에서 minergate를 검색해보면 스마트폰용 채굴프로그램도 있다. 정말 된다. 하하하
하지만 우린 Docker를 사용해보자.
2. Docker 설치
생략
3. XMR (Monero/모네로)
이제 모네로를 채굴해보자.
docker run -itd --name xmr-test -e username=youremail@address.com servethehome/monero_cpu_minergate
이 도커명령은 servethehome(https://hub.docker.com/r/servethehome/monerocpuminergate/)에서 공개한 모네로 채굴 Docker 이미지
이다. PC의 Docker Registry에 해당 이미지가 없으면 자동으로 hub.docker.com에서 이미지를 받아와서 Container를 생성하여 실행하게 된다.
-e username=youremail@address.com
이 부분은 마이너게이트에 가입한 Email을 적어야 자신의 계정으로 채굴량이 전송된다. -e
는 환경변수를 설정하는 옵션이다. 생성될 Container의 환경변수 username의 값을 입력해주는 것이 된다.
--name xmr-test
는 생성하는 Container의 이름을 xmr-test라고 지정하는 것이다. Container를 생성할때 --name
옵션을 설정하지 않아도 자동으로 이름이 붙지만 필히 이름을 지어서 관리하도록 하자.
위의 도커명령을 입력함과 동시에 이미지 안에 있는 /usr/local/bin/moneroCPU.sh
를 실행시킨다. 이 쉘스크립트안에는 CPU 코어에 맞게 thread를 생성해서 모든 CPU자원으로 채굴하도록 되어 있다. 때문에 바로 CPU의 점유율이 100%를 차지하게 되는데, 코어 수에 따라서는 100% 200% ...를 초과된 수치도 볼 수 있다. PC에 부하가 많이 가겠다는 생각이 든다면 Docker가 제한적으로 자원을 사용하도록 할 수 있다.
docker run -itd --name xmr-test -e username=youremail@address.com --cpus=".9" servethehome/monero_cpu_minergate
--cpus=".9"
를 추가로 설정하면 해당 Docker Container는 CPU 점유율 90%를 초과하지 못하게 된다.
4. XMR채굴 (thread 조절 가능)
위의 채굴기는 thread 수를 쉽게 조절할 수 없다는 단점이 있다.
위의 이미지 (servethehome/monerocpuminergate)안에 있는 쉘파일(/usr/local/bin/moneroCPU.sh
)을 조금 수정하여 threads 환경변수를 이용하여 thread 수를 조절할 수 있도록 했다.
docker run -itd --name xmr-test2 -e username=youremail@address.com -e threads=1 souljungkim/xmr
PC에 부담을 조금만 주려면 -e threads=1
이렇게 낮은 수치를 설정하면 되고, 아니면 수치를 더 입력해본다.
docker run -itd --name xmr-test2 -e username=youremail@address.com souljungkim/xmr
또는 입력하지 않는다면 servethehome/monero_cpu_minergate
이미지 처럼 최대 thread로 자동설정되도록 만들었다.
5. Container 확인 및 제어
1) 잘 채굴되고 있나?
xmr-test
Container의 Foreground에서 실행중인 채굴기가 로그를 잘 찍고 있나
확인해 보자.
docker logs -f xmr-test
[Ctrl]
+ [C]
로 빠져나올 수 있다.
채굴량을 보려면 마이너게이트(https://minergate.com/)로 가서 [Dashboard
]를 확인하면 된다. 또는 스마트폰 어플로도 확인 가능하다.
2) Docker Container의 CPU점유율과 메모리 사용량 등.. 확인
docker stats
로 docker를 Container들의 상태를 확인하고
docker stats
리눅스라면 top
으로 자신의 PC의 상태도 확인하고 (윈도우즈라면 작업관리자
)
top
리눅스에서는 htop
을 이용하면 Core별 CPU점유율을 깔끔하게 확인 가능하다.
htop
3) 채굴을 그만두고 싶다면?
docker ps -a
사용중인 Container들을 열람한 후
docker stop xmr-test
stop
하고
docker rm xmr-test
rm
으로 이력을 지우자.
4) 다시 채굴을 하려면?
다시 위의 docker run ...
으로 실행하면 된다.
6. GPU를 이용한 본격적인 채굴
위의 채굴 방식은 GPU자원을 사용하지 않지만, 원한다면 방법이 있는 모양이다.
이 사이트를 참고해보면 GPU를 활용하는 방법이 나와있다.
nvidia-docker run -d -e username=example@example.com servethehome/monero_gpu_nv_minergate
이런식으로 NVIDA-DOCKER
라는 것을 이용하면 GPU자원으로 DOCKER를 생성할 수 있다고 한다.
참고
servethehome/monerocpuminergate: https://hub.docker.com/r/servethehome/monerocpu_minergate/
Mine Monero with Docker Mine Cryptocurrencies with Containers: https://autoize.com/mine-monero-docker/
Monero Mining Benchmarks – CPU Mining With Select Dual Intel Xeon E5 Systems: https://www.servethehome.com/monero-mining-benchmarks-select-dual-intel-xeon-e5-systems/
Monero GPU mining in Docker with nvidia-docker: https://forums.servethehome.com/index.php?threads/monero-gpu-mining-in-docker-with-nvidia-docker.12955/
'TOOL > Docker' 카테고리의 다른 글
[Docker for Windows] GitLab & Admin 관리자 계정 설정법 (1) | 2019.12.20 |
---|---|
[Docker for Windows] PostgreSQL (0) | 2019.12.20 |
[Docker] 제트캐시(ZEC) 채굴하기 (2) | 2017.12.29 |
[Docker] 모든 이미지 지우기 (0) | 2017.12.06 |
[Docker] Docker building fails: returned a non-zero code: 1 (0) | 2017.12.04 |