[Docker] 개발 환경으로써 Docker 이용해 보기 Computer Tip

일전에 docker에 alpine 으로 부터 X-Window를 설치하고 원격데스크탑으로 접속하거나 웹으로 접속할 수 있게끔 만들어 놓은 것이 있었습니다. (해당 내용 참조)

거기에 다시 IDE 환경과 pyenv (Python 3.6.2 탑재)를 넣어 만들어 놓은 docker image 가 있습니다.
(해당 내용 참조)

기존에 가지고 있던 맥북프로 레티나 2014 Mid 에서만 만들고 테스트를 해서 잘 되는  줄 알았더니
윈도우 10 등에서 제대로 동작하지 않는 경우들이 많았습니다. 확인하니 docker alpine 리눅스 내에 root가
아니라 toor 라는 계정으로 실행을 시켰고 이것이 윈도우인 경우 파일 권한 문제가 생기는 것이었습니다.

최근에 다시 toor 계정 대신 root 계정으로 들어가도록 하였고,
테스트한 결과 잘 되어 윈도우10을 기준으로 다시 설명해 봅니다.

일단 지난번 VMWare에서 docker 설치해보기의 마지막 처럼 어떤 윈도우10에 docker 까지는 설치가 잘 되어있다고 가정합니다.

CMD.EXE 혹은 파워쉘을 열어

> docker version
명령을 내려 오류 없이 Client와 Server가 보이면 내 컴에 docker가 잘 설치된 것입니다.

그 다음에는 개발환경의 docker 이미지를 다운받습니다.

> docker image pull mcchae/xfce-pyenv

1.34GB 인데 압축되어 내려옵니다. 위와 같이,

> docker image ls
로 해당 이미지가 보이면 잘 다운받은 것입니다.

자신의 사용자 폴더 안에 dhv 를 만들고 그 안에 다시 root 와 work를 만든 상태에서 두 폴더의 속성을 열어
"읽기 전용"을 해지해 줍니다. (정확한 원인은 잘 모르겠으나 퍼미션 문제가 있는 듯 하여)

그 다음 메모장을 열어 다음과 같은 내용을 넣어주고,

version: '2'
services:
  mydt:
    image: "mcchae/xfce-pyenv"
    hostname: "mydt"
    environment:
      VNC_GEOMETRY: "1920x1080"
    ports:
     - "33899:3389"
     - "60811:6081"
    volumes:
     - //c/Users/mcchae/dhv/root:/root
     - //c/Users/mcchae/dhv/work:/root/work

위에서 mcchae 대신 자신의 로그인 사용자 id 를 대신합니다.

그 다음 아까 사용자 아래의 dhv 폴더에 docker-compose.yaml 이라는 파일 이름으로 저장합니다.

그 다음, 아까 파워 쉘에서,

저장한 dhv 폴더에 가서 

> docker-compose up

이라는 명령을 내리면 잘 실행되어야 하나,
첫번째 실행하면,

위와 같이 우측하단에 "Docker for Windows - Share drive" 경고가 보이는데, "Share it" 을 선택하고,

사용자 암호를 넣어주고 "OK" 하면 됩니다. (혹시 암호가 없으면 암호를 만들고 넣으셔야 합니다)

혹시 중간에 공유하는 것이 실패하였더라도 트레이에서 "Settings..."를 눌러 위와 같은 화면에서 작업해도 됩니다. 
(Reset ... 하면 다시 공유 화면이 뜹니다)

최초에는 사용자\dhv\root 에 필요한 파일들을 수백메가 정도 복사하는데 시간이 걸리지만 두번째 부터는 빨리 뜹니다.

위와 같이 마지막에 "... novnc entered RUNNING state ..." 라고 보이면 정상 동작하고 있는 것입니다.

원격 데스크탑으로 "localhost:33899" 로 접속해도 되지만 (그때 묻는 id/암호는 root/r 인데 아무거나 넣어도 되더만요 T.T)
웹 브라우저로 접속해 봅니다.

MS의 에지 브라우저도 잘 됩니다. "http://localhost:60811" 로 접속하면 위와 같이 뜨는데, "Connect" 를 선택하면,

위와 같이 뜹니다. 만약 화면을 웹브라우져에 꽉 차게 스케일링을 하고 싶으면 위에처럼 "Local Scaling" 을 선택하면 됩니다.

pyenv로 작업을 하면 되는데, 자세한 것은 해당 블로그를 참고합니다.

위에 창에서 처럼 py3을 virtualenv로 만들었다가 uninstall 을 하였는데 잘 되었습니다.
(예전 toor 환경에서는 uninstall이 깨끗이 되지 않았습니다)

/root/work 에 들어갈 때 자동으로 py3으로 들어가게 해 보고,

pip로 jupyter도 설치해 봅니다. (이것도 잘 설치 안되었었던... T.T)
쥬피터 노트북을 띄우려 한다면, 터미널을 열어

# jupyter notebook --allow-root --ip=0.0.0.0

하면 파이어폭스 웹브라우저가 뜨면서 잘 열리는 것을 확인할 수 있습니다.

이제 하단의 "PyCharm CE" 을 눌러 (파이어폭스 오른쪽 아이콘) 띄웁니다.
처음에만 물어보는 위의 창에서 "OK"

위에 팔러시도 "Accept"

역시 위에 창도 최초 한번만 "OK" 하면 됩니다.

그 다음에는 항상 뜨는데, "open"을 선택하고, /root/work 폴더를 선택했습니다.

그 다음 Settings... 를 누르고,

프로젝트 인터프리터로 이전에 생성한 py3 을 돌려볼 예정인데,

"Add Local" 하여,

상단의 홈 아이콘을 누른다음 위의 그림과 같은 것을 찾아 ... (/root/.pyenv/versions/py3/bin/python 입니다) 해당
파이썬 인터프리터를 선택 후 "OK"... 뒤에서도 "OK" 를 합니다.

PyCharm 사용에 대해서는 또 참고...

그러면 파이썬 IDE도 이용할 수 있습니다.


어느분께는 도움이 되셨기를...



덧글

댓글 입력 영역

구글애드텍스트