docker - arcturus9/useful-link GitHub Wiki

[์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰]
docker version
docker ps # get container ID
docker stop ${TENSORFLOW_CONTAINER_ID}
docker ps -a # show all containers



docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
docker run ubuntu:16.04
docker run -d -p 8888:8888 -p 6006:6006 teamlab/pydata-tensorflow:0.1


[๋„์ปค ์‹œ์ž‘์‹œ ๋ฐฉ๋ฒ•]
docker -d   [์‹คํ–‰๋œ๋‹ค]
docker images   [๋‹ค๋ฅธ ์ฐฝ์—์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์‹คํ–‰๋จ์„ ์•Œ์ˆ˜ ์žˆ์Œ]


<<< ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋“ค >>>
docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash

[ ๋„์ปค ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์„ค์น˜ ๋“ฑ]

[๋„์ปค ํŒŒ์ผ ์ƒ์„ฑ]

FROM ubuntu:16.04
RUN mkdir /testdir
RUN echo "hello!"
ADD test.txt /

docker build -t fromtest:0.0 docker build -t runtest:0.0 docker run -it --name runtest runtest:0.0

  • ๊ฐ€์žฅ ๋นจ๋ฆฌ ๋งŒ๋‚˜๋Š” Docker 4์žฅ - 2. Dockerfile ์ž‘์„ฑํ•˜๊ธฐ
    http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter04/02
    FROM: ์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ• ์ง€ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€๋Š” ๊ธฐ์กด์— ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. <์ด๋ฏธ์ง€ ์ด๋ฆ„>:<ํƒœ๊ทธ> ํ˜•์‹์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    MAINTAINER: ๋ฉ”์ธํ…Œ์ด๋„ˆ ์ •๋ณด์ž…๋‹ˆ๋‹ค.
    RUN: ์…ธ ์Šคํฌ๋ฆฝํŠธ ํ˜น์€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ์ด๋ฏธ์ง€ ์ƒ์„ฑ ์ค‘์—๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ apt-get install ๋ช…๋ น์—์„œ -y ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(yum install๋„ ๋™์ผ).
    ๋‚˜๋จธ์ง€๋Š” nginx ์„ค์ •์ž…๋‹ˆ๋‹ค.
    VOLUME: ํ˜ธ์ŠคํŠธ์™€ ๊ณต์œ ํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. docker run ๋ช…๋ น์—์„œ -v ์˜ต์…˜์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ) -v /root/data:/data๋Š” ํ˜ธ์ŠคํŠธ์˜ /root/data ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ Docker ์ปจํ…Œ์ด๋„ˆ์˜ /data ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    CMD: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์„ ๋•Œ ์‹คํ–‰ํ•  ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.
    WORKDIR: CMD์—์„œ ์„ค์ •ํ•œ ์‹คํ–‰ ํŒŒ์ผ์ด ์‹คํ–‰๋  ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    EXPOSE: ํ˜ธ์ŠคํŠธ์™€ ์—ฐ๊ฒฐํ•  ํฌํŠธ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค

[๋„์ปค์™€ ์•„๋‚˜์ฝ˜๋‹ค]

$ docker ps -a
$ docker images
$ docker run -i -t --name mycntn mydocker:myconda3 /bin/bash

$ docker rm 2a8b9507d44c
$ docker rm mycntn
$ docker rmi 2a8b9507d44c
$ docker rmi mydocker:myconda3v

$ docker start 2a8b9507d44c
$ docker attach 2a8b9507d44c
$ docker start mycntn
$ docker attach mycntn

$ docker attach 2a8b9507d44c

  • Jupyter Notebook on Docker
    http://blog.samstdio.com/jupyter-notebook-on-docker/
    $ docker run -it --rm -p 8888:8888 jupyter/minimal-notebook
    $ docker run -d -p 8888:8888 -v [Directory]:/home/jovyan/work -e NB_U
    ID=1000 jupyter/scipy-notebook start-notebook.sh --NotebookApp.password='sha1:password_sha1_hash_value'

[๋กœ๊ธด ์ƒํƒœ ํ™•์ธ]

[๋กœ์ปฌ PC ๋ธŒ๋ผ์šฐ์ €์™€ ์—ฐ๋™]

  • docker์—์„œ ์‹คํ–‰ํ•œ Jupyter๋ฅผ PC ๋ธŒ๋ผ์šฐ์ €์™€ ์—ฐ๋™ํ•˜๊ธฐ
    https://yahwang.github.io/posts/41

[CPU, ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ]

[๋„์ปค์™€ ๋กœ์ปฌ ์‚ฌ์ด ๋ณต์‚ฌ]

[๋„์ปค์ด์šฉํ•œ Tensorflow]
http://hyuksong-korean.blogspot.com/2017/11/jupyter-notebook-docker.htmlv

๊ฐœ์ธ์„ค์ •์ด ๋งŽ์ด ํ•„์š”ํ•ด์„œ ๋”ฑํžˆ ๋ฒ”์šฉ ์ด๋ฏธ์ง€๊ฐ€ ์—†์ง€๋งŒ

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ด๊ฑฐ ๋ณด๊ณ  ์„ค์น˜ํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™๋„ค์š”.

https://github.com/jupyterhub/jupyterhub-deploy-docker

๊ตฌ์กฐ๊ฐ€ docker container๋กœ jupyterhub๊ฐ€ ๋Œ์•„๊ฐ€๊ณ  GibHub authentication์„ ๋ฐ›์•„์„œ ์ ‘์†ํ•ด์„œ ์›น ๋ฉ”๋‰ด์˜ Start My Server๋ฅผ ๋ˆ„๋ฅด๋ฉด docker-jupyterhub๊ฐ€ ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ์ž๋งˆ๋‹ค docker-jupyter-notebook์„ ๋‚ณ๋Š”(spawn) ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋„คํŠธ์›Œํฌ, ssl, proxy ์„ค์ •์€ ๋‹น์—ฐํžˆ ๋”ฐ๋ผ๊ฐ€๊ตฌ์š”.

ํ˜ผ์ž ์“ฐ๋Š”๊ฑด๋ฐ ๊ทธ๋ƒฅ ์š•์‹ฌ์— ์„ค์น˜ํ•ด๋ดค์Šต๋‹ˆ๋‹ค๋งŒ tvheadend๋ณด๋‹ค๋Š” ์‰ฌ์šด๋“ฏํ•ด์š”. ใ…Žใ…Ž

์ฐธ๊ณ ๋งํฌ ๋‚จ๊ธฐ๋ฉฐ ์ด๋งŒ ์ค„์ž…๋‹ˆ๋‹ค.

jupyter-notebook: 
https://github.com/jupyter/docker-stacks

jupyterhub ์ผ๋ฐ˜ ์„ค์น˜: 
https://github.com/jupyterhub/jupyterhub

jupyterhub ์„ค์ • ๋ฐ ์„ธํŒ…: 
https://github.com/jupyterhub/jupyterhub/blob/master/docs/source/getting-started.md

nginx reverse proxy conf: 
https://gist.github.com/zonca/08c413a37401bdc9d2a7f65a7af44462

์ถ”๊ฐ€ ์„ค์น˜ ์˜ˆ์ œ: 
http://jupyterhub.readthedocs.io/en/latest/config-examples.html#
โš ๏ธ **GitHub.com Fallback** โš ๏ธ