Tech

docker hub에 내 이미지 올려서 사용하기.

hongcoder 2024. 11. 25. 19:44

kubernetes에서 Ray를 이용해 분산학습을 하기 위해 도커 이미지를 사용해 클러스터를 구축하려고 했지만, 내가 원하는 설정이 들어가지 않아서 도커 이미지를 바꿔서 사용해야 하는 상황이 되었다.

그냥 도커 이미지만 바꿔서 사용하면 되지만 Docker hub에 내 이미지를 올려 사용해보고 싶은 생각이 들어서 해보았다.

 

우선 도커허브 로그인을 해준다

docker login -u {user name}

 

다음 필요한 Dockerfile을 수정한다.

  FROM rayproject/ray:latest@sha256:c864e37f4ce516ff49425f69cac5503a51e84c333d30928416714a2c3da55b43
   
  ARG HTTP_PROXY
  ARG HTTPS_PROXY
   
  # set http_proxy & https_proxy
  ENV http_proxy=${HTTP_PROXY}
  ENV https_proxy=${HTTPS_PROXY}
   
 # install java, create workdir and install raydp
 # You could change the raydp to raydp-nightly if you want to try the master branch code
 RUN sudo http_proxy=${HTTP_PROXY} https_proxy=${HTTPS_PROXY} apt-get update -y \
     && sudo http_proxy=${HTTP_PROXY} https_proxy=${HTTPS_PROXY} apt-get install -y openjdk-8-jdk \
     && sudo mkdir /raydp \
     && sudo chown -R ray /raydp \
     && $HOME/anaconda3/bin/pip --no-cache-dir install torch \
     && $HOME/anaconda3/bin/pip --no-cache-dir install ray[defalut] \
     && $HOME/anaconda3/bin/pip --no-cache-dir install raydp
  
 WORKDIR /raydp
 
 # unset http_proxy & https_proxy
 ENV http_proxy=
 ENV https_proxy=

 

난 ray[defalut]와 torch를 사용하기 위해서 바꿨다.

 

다음 도커파일을 빌드해준다.

docker build --tag onggizam/raydp:latest .

 

빌드하는데 시간이 꽤 걸렸다.

 

빌드한 후에 Docker hub에 push해주면 hub에 올라가 내가원하는 도커이미지를 사용할 수 있다.

docker push onggizam/raydp

 

easy.