Android增刪改查
阿新 • • 發佈:2020-11-28
以下命令需要進入root許可權---sudo -s
幫助命令
docker --help
docker version
docker info(version的details版本)
一般的命令都是 docker + command + 可選引數
映象命令
docker iamges 列出本地主機映象 docker images -a 列出本地主機所有映象(包括中間映象層) docker images -q 只顯示映象ID docker images -qa 當前存在的以及之前存在過的映象ID docker images --digest:列出映象,並顯示映象的摘要資訊,但是由於螢幕所限會截斷顯示 docker images --no-trunc:列出映象,並完整顯示摘要資訊 docker search 映象名 從配置映象倉庫搜尋映象,預設是從hub.docker.com查詢 docker search -s 30 images-name 利用映象倉庫的star數目進行過濾搜尋 docker pull mysql(:latest):一般的命令預設都是指最新版本映象 docker rmi mysql 刪除映象 #如果有此衍生的容器container在執行,那麼會提示與daemon守護程序衝突,無法刪除 dcoker rmi -f mysql 強制刪除 ** 如何傳參形式批量刪除映象----類似mysql資料庫語言查詢傳參即可 docker rmi -f $(docker images -qa) ---$後是個變數名
容器命令
docker pull centos(:latest) 配置倉庫拉取centos映象 docker run centos (也可以使用映象ID) 依據本機centos映象(本機local沒有則先從配置倉庫拉取到本機)生成centos容器並執行centos容器 docker run -it centos 以互動模式(-i,一般和-t同時使用)執行centos容器,併為容器重新分配一個偽輸入終端(-t) docker run -d centos 以守護程序在後臺執行(由於docker的設計理念,要想將容器在後臺執行就必須有前臺程序,如果僅僅run啟動但沒有分配任務,docker會主動kill調這個空閒centos程序) docker ps ---docker正在執行的(活著的)容器(背上正在揹著的集裝箱) docker ps -q 活著的容器以ID名列出 docker ps -l docker引擎經歷的上一個容器 docker ps -lq docker引擎經歷的上一個容器,以容器ID列出 docker ps -a docker引擎經歷的所有容器(活著的和過去關閉的) docker ps -n 5 docker引擎經歷過的最後5個容器 exit ---從centos容器中退回到宿主機,並關閉容器) CRTL+P+Q ---從centos容器中退回到宿主機,不關閉容器 docker start 容器名/ID --- 啟動容器 docker restart 容器名/ID ---重啟容器 docker stop 容器名/ID ---正常關閉容器 docker kill 容器名/ID ----立即強制關閉容器 docker rm 容器名/ID ---刪除已關閉的容器(rmi--刪除映象images) docker rm -f 容器名/ID ----強制刪除容器 docker rm -f $(docker ps -a -q) 一次性強制刪除所有的容器 docker ps -a -q | xargs docker rm -f 先查詢通過管道符傳給xargs(可以發現傳遞給刪除命令時引數放到了docker rm的前面) docker logs -f -t --tail 容器ID ----檢視容器日誌(-t 加入時間戳 -f 列印跟隨最新日誌, --tail nums 顯示最後多少條日誌記錄) docker run -d centos /bin/sh -c "while true;do echo hello parallax;sleep 2;done" ---通過shell程式設計使後臺容器一直在工作,而不是閒著直接被kill """ $ sudo echo "hahah" >> test.csv -bash: test.asc: Permission denied 這時可以看到 bash 拒絕這麼做,說是許可權不夠。這是因為重定向符號 “>” 和 ">>" 也是 bash 的命令。我們使用 sudo 只是讓 echo 命令具有了 root 許可權,但是沒有讓 “>” 和 ">>" 命令也具有 root 許可權,所以 bash 會認為這兩個命令都沒有像 test.csv檔案寫入資訊的許可權。 解決這一問題的途徑有兩種。 第一種是利用 "sh -c" 命令,它可以讓 bash 將一個字串作為完整的命令來執行,這樣就可以將 sudo 的影響範圍擴充套件到整條命令。具體用法如下: $ sudo /bin/sh -c 'echo "hahah" >> test.asc' """ docker top 容器ID ------檢視容器內執行的程序,如檢視宿主機上的centos容器內執行的程序 docker inspect 容器ID ---檢視容器內部細節(因為一個容器其實也是由多個容器巢狀形成的) docker attach 容器ID----再顯示進入後臺執行容器的互動環境 docker exec -t 容器ID ----再隱式進入後臺執行容器的互動環境(ID後追加/bin/bash就變成了顯示進入) docker exec -t 容器ID ls /tmp ----隱式進入容器,列出其內tmp目錄資料夾 docker cp 容器ID:目標檔案路徑 宿主機上儲存目標路徑 -----將容器內檔案拷貝到宿主機上