불친절한 블로그
[Docker] Docker 이미지 생성 부터 dockerHub에 업로드 본문
처음 Docker를 접했을땐 파이썬을 쓰려면 Docker hub에 누군가가 세팅해놓은 이미지를 pull해서 사용했다.
Dockerfile을 만드는게 어렵게만 다가왔다.
어느때와 같이 누군가 세팅해놓은 jupyter notebook을 pull해서 내 환경을 맡추고 있었는데,
python 패키지중 psycopg2가 설치시 오류가 계속해서 발생했다.
구글링을 통해서 docker update, upgrade를 하고, python 버전 upgrade 하고 해도 psycopg2가 설치되지 않았다.
참고 파이썬 버전 변경 sudo rm /usr/bin/python3 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2 sudo update-alternatives --config python3
docker 컨테이너에 python 패키지 추가 docker exec [컨테이너 id] pip list (설치된 패키지 리스트 확인) docker exec [컨테이너 id] pip install [설치할 패키지명] (패키지 설치) |
또한 다른 시도를 위해 /bin/bash 로 접근해서 해결하려 했지만 권한은 이미지 작성자에게 있어서 sudo가 막혀있었다.
그래서 내 환경을 만들어야겠다는 생각이 들었다.
아직도 이미지를 새로 생성하는 방법은 정확히 모르겠다.
우선 빈 이미지(?)를 받는다.
docker pull ubuntu:latest
공식 이미지는 사용자 이름이 붙지 않는다.
ex) docker pull ubuntu:latest (공식)
docker pull onu6024/ubuntu:latest (개인이미지)
docker 이미지 생성 파일
vi Dockerfile
Dockerfile을 만들었으면 이미지를 build 한다.
docker build -t [repository명] .
windows powershell으로 환경 변경해서 진행 (개인적인 이유)
jupyter notebook을 설치했기 때문에 실행문은
docker run -it -p 8888:8888 -p 6006:6006 -v ~/docker:/data jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/data'
jupyter notebook 실행화면!!
이제 내 dockerHub에 업로드 해보자
dockerHub에 올리기 위해선 dockerHub 계정명과 같아야한다.
상단에 에러로 확인이 된다. 계정은 onu6024인데 jupyter로 올리려니 권한 에러가 뜬다.
denied: requested access to the resource is denied
commit으로 이미지명을 onu6024/data_manager로 새로 만들고
docker push 했을때 정상적으로 dockerHub에 업로드 되는것을 확인할 수 있다.
'IT Infrastructure' 카테고리의 다른 글
[Docker] docker에 postgreSQL 연결하기 (0) | 2020.05.27 |
---|---|
[Docker] docker-compose 내가 원하는 환경으로 만들기(연습중!!) (0) | 2020.05.20 |
[Ubuntu] ubuntu 환경에 ssh 설치, 포트포워딩 (0) | 2020.04.08 |
[Docker] 자신만의 환경 만들기 (dockerHub) (0) | 2020.04.02 |
[Docker] 도커로 파이썬 환경 구축하기 (0) | 2020.04.01 |