Docker - k821209/pipelines GitHub Wiki
์ ๋ค jupyter server ์ด์ด์ฃผ๊ธฐ
docker run --name [name] -it -p 0.0.0.0:8891:8888 -v /home/k821209/common/:/common/ -v /DATA2/:/data2/ basic_jupyter bash
๋์ปค ์ด๋ฏธ์ง ํ์ผ๋ก ๋ณต์ฌํด์ ์ฎ๊ธฐ๊ธฐ
docker save -o example.tar docker-image-name:tag
# ๋ก ํ์๋ฉด ๋๊ณ import ํ์ค๋
docker load -i example.tar ํ์๋ฉด ๋ ๊ฒ๋๋ค.
Docker๋,
- Host OS (Image)์ Guest๊ตฌํ (์ปจํ ์ด๋) ์ ์ ๊ณตํจ.
- Guest๊ตฌํ์ ํ๋์ Host OS์ ์ํฅ์ ๋ฏธ์น์ง ์์.
- Guest๊ตฌํ์ ํ๋์ ๊ธฐ๋ก๋จ
- Guest๊ตฌํ์ ํ๋์ ๋ชจ์์ ํ๋์ Image๋ฅผ ์์ฑ๊ฐ๋ฅ.
์ค์น
$ wget -qO- https://get.docker.com/ | sh
์ ์ฅ ์์น ๋ฐ๊พธ๊ธฐ
> systemctl stop docker
> systemctl daemon-reload
# Add the following parameters to /lib/systemd/system/docker.service.
FROM:
ExecStart=/usr/bin/dockerd
TO:
ExecStart=/usr/bin/dockerd -g /home/docker -H fd://
# https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/
> sudo rsync -aP /var/lib/docker/ /path/to/your/docker # ๊ธฐ์กด ๋์ปค๋ค ์ฎ๊ธฐ๊ธฐ rsync๋ ๋น๊ต๋ฅผ ํตํด ์นดํผํด์ค (์ค๋ณต์ ์นดํผ์ํจ)
> systemctl start docker
# ์ด๋ฐฉ๋ฒ์ ๊ตฌ๊ธ ํด๋ผ์ฐ๋์์๋ ๋์์ผ๋ ๊ฐ์ธ์๋ฒ์์๋ ์์ธ์ง ๋์ง ์๋๋ค.
#Ubuntu/Debian: edit your /etc/default/docker file with the -g option:
#DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
#$ service docker stop
#$ service docker start
๋ช ๋ น
์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋งฅ์์๋ sudo์ํด๋ ๋๊ณ , ์ฐ๋ถํฌ ์๋ฒ์์๋ ๊ผญ sudo๋ฅผ ๋ถ์ฌ์ค์ผ๋จ.
$ docker search ubuntu # ์ฐ๋ถํฌ๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ํจ. ๋์ปค ์๋ฒ์์ ๋ค์ด ๋ฐ์ ์ ์์
$ docker pull ubuntu:lastest # ๊ธฐ๋ณธ ์ฐ๋ถํฌ ์ด๋ฏธ์ง์ ์ต์ ๋ฒ์ ์ ๋ฐ์์ HostOS๋ก ์ฌ์ฉ. ์๋นํ ๋น ๋ฅด๋ค.
$ docker images # ์ค์น๋ ์ด๋ฏธ์ง ํ์ธ
$ docker-machine start default # ์ํด์ผ๋๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
$ docker-machine ssh default # ์ํด์ผ๋๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
$ docker run -i -t --name hello ubuntu /bin/bash # hello๋ผ๋ ์ด๋ฆ์ ์ปจํ
์ด๋๋ฅผ ์์ฑ
# /bin/bash๋ฅผ ์คํํ๊ณ , -i , -t (interactive, Pseudo-tty) ์ต์
์ ์ฃผ๋ฉด ์ผ๋ฐ์ ์ธ ์ปค๋งจ๋ ์ฐฝ์ ์ด์ด์ค.
# -d ์ต์
์ ์ฃผ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํจ
# ctrl + p + q ํ๋ฉด ๋น ์ ธ๋์ด
$ docker run -v /root/analysis/storage/ref:/ref -it 541cda031390 /bin/bash
# host์ /root/analysis/storage/ref ๋ฅผ container ์ /ref ์ ๋ง์ดํธ ํด์ 541cda031390 ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ณธ์ผ๋กํ๋ ์ปจํ
์ด๋๋ฅผ ๋ง๋์ผ. ์ด๋ ์ด๋ฆ์ ์ง์ ์ํ๋ฉด ์์์ ์๋ฌด ์ด๋ฆ์ผ๋ก ํด์ค๋ค. ์ปจํ
์ด๋์ ๋ง์ดํธ ๋ /ref๋ ํธ์คํธ์ ์ํฅ์ ๋ฏธ์น๋ค. ์ปจํ
์ด๋์์ ์์
ํ๊ฑฐ ๊ทธ๋๋ก ํธ์คํธ ๋๋ผ์ด๋ธ์ ๋ฐ์๋จ
$ docker exec -t -i mycontainer /bin/bash
# ๋๊ณ ์๋ ์ปจํ
์ด๋์ ์๋ก ์ ์; ctrl + p + q ๋ก ๋น ์ ธ๋์์๋, docker attach ๋ก ๋ค์ด๊ฐ๋ฉด ๋๊ณ ์๋ ์ค๊ฐ ํ๋ฉด๋ง ๋์ด.
$ exit
# exit๋ฅผ ํ๋ฉด ์ปจํ
์ด๋๋ stop๋จ
$ docker start hello
# hello ์ปจํ
์ด๋๋ฅผ ๋ค์ ์คํ restart ํ๋ฉด ์ฌ๋ถํ
stopํ๋ฉด ์ ์ง.
$ docker ps
# docker ์ปจํ
์ด๋ ์คํ ํํฉ -a ์ต์
์ ์ฃผ๋ฉด ์ ์ง๋ ์ ๋ค๊น์ง ๋ณด์ฌ์ค
$ docker attach hello # ์คํ๋ ์ปจํ
์ด๋์ ์ ์
# docker detach : ctrl + p + ctrl + q
$ docker rm hello # ์ปจํ
์ด๋ ์ ๊ฑฐ
$ docker rmi ubuntu:latest # ์ด๋ฏธ์ง ์ญ์ ํ๊ธฐ
$ docker commit -m 'add blat,ssh' -a 'kangyangjae' c63f7434c68d k821209/trinity:0.1
# c63f7434c68d : container ID, k821209/trinity:0.1 : ์
๋ํ ์ด๋ฏธ์ง ์ด๋ฆ
$ docker push k821209/trinity
# ํ๊ทธ๋ ์ ๋ค๊น์ง ๋ค ์ฌ๋ผ๊ฐ๋๋ฏ.
$ docker commit -a "Kang, Yang Jae <[email protected]>" -m "add log.txt" hello kangbase:0.1
#hello ๋ผ๋ ์ปจํ
์ด๋๋ฅผ ํธ์คํธ ์ด๋ฏธ์ง์ ๋ณํฉํ์ฌ ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ๋ง๋ ๋ค. -a ๋ ๊ธฐ๋ก์, -m์ ๋ก๊ทธํ์ผ
## ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์ ์ฌ๋ฆฌ๋ ๊ณผ์
$ docker login # ๋์ปคํ๋ธ์ ๊ฐ์
ํด์ผ๋จ ์ผ๋จ.
Username: ***
Password:
Email: [email protected]
WARNING: login credentials saved in /Users/kangyangjae/.dockercfg.
Login Succeeded
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
kangbase 0.1 1ceaa0f0bfc7 22 minutes ago 1.644 GB
ubuntu latest fa81ed084842 5 days ago 188.3 MB
$ docker tag 1ceaa0f0bfc7 k821209/bioinfo:0.1
# ๋์ปค ์ด๋ฏธ์ง๋ฅผ ํ๋ธ์ ์ฌ๋ฆด ์ ์๊ฒ repo ์ด๋ฆ ์ง์ด์ฃผ๋ ๊ฒ. ์ข ๊ท์ฐฎ์ ์คํ
์ธ๋ฏ?
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
k821209/bioinfo 0.1 1ceaa0f0bfc7 25 minutes ago 1.644 GB
kangbase 0.1 1ceaa0f0bfc7 25 minutes ago 1.644 GB
ubuntu latest fa81ed084842 5 days ago 188.3 MB
$ docker push k821209/bioinfo:0.1
$ sudo docker pull k821209/bioinfo:0.1
0.1: Pulling from k821209/bioinfo
e118faab2e16: Pull complete
7e2c5c55ef2c: Pull complete
e04c66a223c4: Pull complete
fa81ed084842: Pull complete
1ceaa0f0bfc7: Already exists
Digest: sha256:aedf5cbde894772968d068b29fada4923d96f76b1f3b8984ab2dc8ce96cb957a
Status: Downloaded newer image for k821209/bioinfo:0.1
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
k821209/bioinfo 0.1 1ceaa0f0bfc7 55 minutes ago 1.644 GB
docker cp
# cp from container to host
docker cp <containerId>:/file/path/within/container /host/path/target
docker window jbrowser server
# container ์ 80 ํฌํธ๋ฅผ host์ 0.0.0.0:7080์ผ๋ก ๋นผ์จ๋ค.
# ์๋์ฐ๋ vm์ ์ฐ๊ธฐ ๋๋ฌธ์ virtual box setting์์ network -> portforwarding์์ rule์ ์ถ๊ฐ
# 141.40.118.40 7080 <- 0.0.0.0 7080
$ docker run -it -p 0.0.0.0:7080:80 --name Jbrowser_server -v /c/Users/User/Downloads/:/ref/ k821209/jbrowser:0.1 /bin/bash
# within container
$ /etc/init.d/apache2 restart