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
- docker-anaconda ๊ณต์ ํํผ
https://hub.docker.com/r/continuumio/anaconda3
docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash
[ ๋์ปค ๊ธฐ๋ณธ ๊ฐ๋ ๋ฐ ์ค์น ๋ฑ]
-
๋์ปค(Docker) ํํ ๋ฆฌ์ผ : ๊น ๊น์ ๋ฐฐํฌ๊น์ง
https://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/ -
์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - ๋์ปค๋ ๋ฌด์์ธ๊ฐ?
https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - ์ค์นํ๊ณ ์ปจํ ์ด๋ ์คํํ๊ธฐ
https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html
์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - ์ด๋ฏธ์ง ๋ง๋ค๊ณ ๋ฐฐํฌํ๊ธฐ
https://subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html
[๋์ปค ํ์ผ ์์ฑ]
- [Docker] Dockerfile ๊ฐ์ ๋ฐ ๊ฐ๋จํ ์์ฑ๋ฒ ๊ฐ์ด๋
http://blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=220646382977&parentCategoryNo=7&categoryNo=&viewDate=&isShowPopularPosts=true&from=search
in dockerfile
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: ํธ์คํธ์ ์ฐ๊ฒฐํ ํฌํธ ๋ฒํธ์ ๋๋ค
[๋์ปค์ ์๋์ฝ๋ค]
-
anaconda3 ๋์ปค์์ ์ค์นํ๊ณ ์ฌ์ฉํ๊ธฐ
https://www.slipp.net/wiki/pages/viewpage.action?pageId=26640967 -
Getting started with Anaconda & Docker
https://medium.com/@patrickmichelberger/getting-started-with-anaconda-docker-b50a2c482139 -
Using Anaconda with Docker
https://www.jitsejan.com/using-anaconda-with-docker.html -
๋์ปค์ ํ์ด์ฌ + Anaconda ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ (miniconda3 ์ฌ์ฉ)
https://zetastring.tistory.com/277 -
anaconda (python 3 version)๋์ปค๋ก ์ค์นํ๊ณ ์ฌ์ฉํ๊ธฐ
https://www.slipp.net/wiki/pages/viewpage.action?pageId=26640967
docker search anaconda3
docker run -it -p 8888:8888 -v $(pwd):/notebooks continuumio/anaconda3
docker run -it -p 8888:8888 -v $(pwd):/notebooks continuumio/anaconda3 /bin/bash
jupyter notebook --ip='*' --port=8888 --no-browser ==> http://localhost:8888/?token=[์~์ฒญ ๊ธด ํ ํฐ๋ฌธ์์ด] -
Docker command in Linux
https://m.blog.naver.com/PostView.nhn?blogId=cjh226&logNo=221039877493&proxyReferer=https%3A%2F%2Fwww.google.com%2F
$ sudo docker run hello-world
$ docker pull continuumio/anaconda3
$ docker run -i -t continuumio/anaconda3 /bin/bash
$ exit
$ 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'
[๋ก๊ธด ์ํ ํ์ธ]
-
๋์ปค ํ๋ธ ๋ก๊ทธ์ธ ์ํ ํ์ธ
https://zetawiki.com/wiki/%EB%8F%84%EC%BB%A4_%ED%97%88%EB%B8%8C_%EB%A1%9C%EA%B7%B8%EC%9D%B8_%EC%83%81%ED%83%9C_%ED%99%95%E C%9D%B8 -
docker ๋ก๊ทธ์ธ
https://zetawiki.com/wiki/%EB%8F%84%EC%BB%A4_%ED%97%88%EB%B8%8C_%EB%A1%9C%EA%B7%B8%EC%9D%B8_%EC%83%81%ED%83%9C_%ED%99%95%E C%9D%B8
[๋ก์ปฌ PC ๋ธ๋ผ์ฐ์ ์ ์ฐ๋]
- docker์์ ์คํํ Jupyter๋ฅผ PC ๋ธ๋ผ์ฐ์ ์ ์ฐ๋ํ๊ธฐ
https://yahwang.github.io/posts/41
[CPU, ๋ฉ๋ชจ๋ฆฌ ์ ํ]
-
์ปจํ ์ด๋์ cpu์ ๋ฉ๋ชจ๋ฆฌ ์ ํ - Joinc
https://www.joinc.co.kr/w/man/12/docker/limits -
๋์ปค, ์ปจํ ์ด๋ ์์์ ์ ํ, ์ฟผํฐ ์ค์ ํ๊ธฐ (cpu๋ฑ)
https://m.blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220994619068&proxyReferer=https%3A%2F%2Fwww.google.com%2F
sudo docker run -it --cpus=".5" ubuntu /bin/bash # 50%๋ง ์ฐ๋๋ก ์ ํv sudo docker run -it --cpu-period="100000" --cpu-quota="5000" ubuntu /bin/bash # Docker 1.12์ดํ ๋ฒ์ ผ์์๋ ์ฌ๊ธฐ์ฒ๋ผ ์ ํํจv -
Spqwners + cpu limit v https://jupyterhub.readthedocs.io/en/0.7.0/spawners.html#examples
-
jupyterhub
https://jupyterhub.readthedocs.io/en/0.7.0/howitworks.html
https://jupyterhub.readthedocs.io/en/0.7.0/getting-started.html -
jupyter๋ก ์คํ๋๋ instance์ ๋ํด์ cpu limit ์ค์ ํ๋ ค๋ฉด docker๋ก ํ๋ผ๋ ์กฐ์ธ
https://groups.google.com/forum/#!topic/jupyter/ZofSrwjlXOw
[๋์ปค์ ๋ก์ปฌ ์ฌ์ด ๋ณต์ฌ]
-
docker์์ ํ์ผ ๋ณต์ฌ
https://www.leafcats.com/163 -
docker cp - ํธ์คํธ ์ปจํ ์ด๋ ์ฌ์ด ํ์ผ ๋ณต์ฌ
https://www.leafcats.com/163
https://riptutorial.com/ko/docker/example/6587/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%97%90%EC%84%9C-%ED%8C%8C%EC%9D%BC-v%EB%B3%B5%EC%82%AC%ED%95%98%EA%B8%B0
https://shy-blg.tistory.com/entry/Docker%EB%8F%84%EC%BB%A4-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%97%90-v%ED%8C%8C%EC%9D%BC-%EC%A0%84%EC%86%A1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
[๋์ปค์ด์ฉํ Tensorflow]
http://hyuksong-korean.blogspot.com/2017/11/jupyter-notebook-docker.htmlv
- docker-jupyterhub ๊น์๋ค์
https://www.clien.net/service/board/cm_nas/10588342
๊ฐ์ธ์ค์ ์ด ๋ง์ด ํ์ํด์ ๋ฑํ ๋ฒ์ฉ ์ด๋ฏธ์ง๊ฐ ์์ง๋ง
๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ด๊ฑฐ ๋ณด๊ณ ์ค์นํ์๋ฉด ๋ ๊ฒ ๊ฐ๋ค์.
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#
-
/var DISK full! case
--> https://forums.docker.com/t/some-way-to-clean-up-identify-contents-of-var-lib-docker-overlay/30604/13
https://github.com/moby/moby/issues/33775
sudo -h --max-depth=1 /var/lib/docker
docker volume prune -f
docker system prune -a -f
https://stackoverflow.com/questions/46672001/is-it-safe-to-clean-docker-overlay2 -
Remove all docker Containers
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
https://coderwall.com/p/ewk0mq/stop-remove-all-docker-containers