2018-03-11

Docker 指令筆記

systemctl status/start/stop/restart  docker

指令解說明文件:
https://docs.docker.com/v17.12/edge/engine/reference/commandline/docker/#child-commands


儲存與載入印象檔
docker images
docker save -o xxx.tar repository:tag
docker load --input xxx.tar
docker load < xxx.tar

docker run -t -i  docker.io/ubuntu /bin/bash
-t: 讓Docker 分配一個虛擬終端(pseudo-tty),並綁定到容器的標準輸入上。
-i:讓容器的標準輸入保持打開
-d:背景執行
docker pa -a
docker rmi -f 79d


docker stop 79d
docker start 79d
docker restart 79d
docker inspect -f {{".Architechture"}} 79d

docker exec -it 79d517743a51 /bin/bash

匯入/匯出容器
docker export  xxx > aaa.tar 會遺失資料層的堆疊資訊
cat xxx.tar | docker import - repository


Data Volumes
docker run -d -P --name web -v /webapp repository:tag
docker run -d -P --name web -v /tmp/webapp:/opt/webapp repository:tag
docker run -d -P --name web -v/tmp/webapp:/opt/webapp:ro repository:tag
docker run -d -P --name web -v ~/.bash_history:/root/.bash_history repository:tag

Data Volumes 容器
docker run -it -v /dbdata --name dbdata ubuntu
docker run -it --vloumes-from dbdat --name db1 ubuntu
docker run -it --vloumes-from dbdat --name db2 ubuntu

Data Vloumes 容器備份
docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
恢復:
1. 先建立一個帶有資料卷的容器 dbdata2
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
2. 再建立另一個容器,掛載 dbdata2 的容器,並使用 untar 解壓備份檔案到掛載的容器卷中
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf
/backup/backup.tar