티스토리 뷰
나는 집에 맥미니를 항상 켜놓고 다니면서 docker로 서버를 구성했었다.
그런데 가끔씩 도커툴박스의 자동업데이트로 도커 이미지 뿐만아니라 도커내 자료가 사라지는 것을 몇번 경험했다.
그래서 아래와 같이 관리하기 했다.
0. 모든 소스파일은 host파일과 링크를 걸어서 이미지가 삭제되더라도 소스는 복구가 가능하도록 워킹디렉토리를 지정한다.
- host PC : /Users/akamikang/developer/docker/tf3 => 소스가 저장된 위치
- guest PC : /work => 아래 이미지 내에는 이미
1. Dockerfile를 이용해서 이미지가 손상되더라도 언제라도 복구가 가능하도록 한다.(ex, jupyterlabDockfile)
FROM jupyter/minimal-notebook
RUN pip install jupyterlab tensorflow && \
jupyter serverextension enable --py jupyterlab --sys-prefix
EXPOSE 8888
WORKDIR /work
CMD ["jupyter", "lab"]
2. Docker Image 생성하기
docker build -t jupyterlab/tensorflow . -f jupyterlabDockfile
3. Container 생성
docker run -dit --name jupyterlab -p 8880:8888 -v /Users/akamikang/developer/docker/tf3:/work jupyterlab/tensorflow
4. 생성된 주피터랩으로 들어가보자
- docker logs container_id : 아래와 같이 터미널에서 token 값 을 얻어서 브라우저(http://localhost:8880)로 입력하자
akamikang@mini ~/developer/docker/tf3 $ docker logs ee6da877bf84
[I 07:01:05.973 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[I 07:01:07.771 LabApp] JupyterLab extension loaded from /opt/conda/lib/python3.7/site-packages/jupyterlab
[I 07:01:07.772 LabApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 07:01:09.036 LabApp] Serving notebooks from local directory: /home/jovyan/tf3
[I 07:01:09.036 LabApp] The Jupyter Notebook is running at:
[I 07:01:09.036 LabApp] http://ee6da877bf84:8888/?token=d29809c3c0463cfb090d71b0aedc47fa0fbb92e9b6570635
[I 07:01:09.036 LabApp] or http://127.0.0.1:8888/?token=d29809c3c0463cfb090d71b0aedc47fa0fbb92e9b6570635
[I 07:01:09.037 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 07:01:09.045 LabApp]
To access the notebook, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/nbserver-6-open.html
Or copy and paste one of these URLs:
http://ee6da877bf84:8888/?token=d29809c3c0463cfb090d71b0aedc47fa0fbb92e9b6570635
or http://127.0.0.1:8888/?token=d29809c3c0463cfb090d71b0aedc47fa0fbb92e9b6570635
위의 토큰 값을 아래 브라우저에 입력하여 로그인 시도한다.
5. token의 귀찮니즘을 없애기 위해서 암호화된 값을 주피터내에 sha1로 저장시켜 비교할 수 있도록 한다.
5-1. 브라우저 하단의 입력값을 활용해서 신규 비밀번호를 입력한다.
이때 Token 값은 위의 토큰값을 그대로 사용한다.
입력하고 버튼을 눌러서 단방향 암호값을 저장시키고, 도커를 재실행한다.
docker restart <container_id>
5-2. 또는 아래와 같이 토큰값을 서버에 저장시킬 수 있다.
편의상 브라우저에서 Teminal을 실행시켜서 바로 일방향 암호화된 키를 생성시킨다.
- docker container로 들어가서 해당 암호화 값을 저장시킨다.
docker exec -it <container_id> /bin/bash
jovyan@f345fd029793:~$ nano ~/.jupyter/jupyter_notebook_config.py
-이제 docker 를 재시작 시면 위에서 입력한 새로운 패스워드로 로그인이 가능하다.
- Total
- Today
- Yesterday
- virturalenv
- jupyter lab
- Restore
- selenium #chromedriver
- sorted
- covid19
- HashMap.getOrDefault
- redmine plugin
- jqzip
- gitlab
- python의 Reflection
- inspect.py
- 호스트와 시간맞추기
- importlib
- zsh
- elasticsearch
- Lodash
- vscode
- 동적클래스생성
- bootrap
- pip freeze #패쇄망 #wheel
- jqgrid
- MAC
- anaconda env
- docker
- pyenv
- backup
- __code__
- conda init
- Selenium
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |