Docker 常用指令

基于博主使用與學習過程,持續更新......

  • 重啟

    systemctl daemon-reload
    systemctl restart docker
    # 開機啟動
    systemctl enable docker
    
  • 管理

    # 刪除所有容器
    docker rm -f `docker ps -a -q`
    # 刪除無引用的鏡像
    docker image prune -a -f
    # 刪除所有鏡像
    docker rmi `docker images -q`
    # 重啟所有容器
    docker restart `docker ps -a -q`
    
  • docker

    docker run {dockerParameter} {image} {containerParameter}
    {dockerParameter}docker create時期的docker參數①,只會在創建的時候執行生效一次并作用于容器整個生命周期,而{containerParameter}docker start時期的容器參數②每次啟動都會執行并生效,因此通過-e配置的用戶名密碼類的環境變量不會因為每次重啟容器,將已修改的用戶名密碼還原

    • rm:刪除容器
    • rmi:刪除鏡像
    • f:強制執行,一般配合刪除鏡像或容器一起使用
    • run:啟動容器
    • exec:進入容器
    • inspect:查看鏡像或容器的詳情
    • search:搜索鏡像,或訪問https://hub.docker.com,搜索相關鏡像詳細說明,點擊版本信息可查看Dockerfile,可閱讀相關配置
    • pull:拉取鏡像
    • logs:查看容器運行日志
    • start:啟動,每次開啟,程序重新加載容器參數②并開啟進程
    • stop:關停,每次關閉,程序會結束進程
    • restart:重啟,每次關閉,程序首先結束進程,再重新加載容器參數②并開啟進程

      startstoprestart,雖然不會清空容器內的數據,但是不同于虛擬機掛起模式,不會保留操作當時的狀態,而是類似于虛擬機或計算機的開關機操作,每次操作都會進入全新的狀態,只是運行的數據被保留

  • docker run

    • -d:后臺模式運行
    • -i:交互模式運行
    • -t:分配一個偽輸入終端,通常與 -i 同時使用
      -d-it是兩種不同容器運行方式,可根據實際情況使用,一般運行容器使用-d,進入容器使用-it
    • -p(--publish):映射宿主機端口,前面為宿主機后面為容器
    • -v(--volume):掛在宿主機目錄,方便拷貝或遷移數據,前面為宿主機后面為容器,會將宿主機的數據覆蓋至容器,其作用:
      • 使容器能夠更方便的訪問宿主機的文件數據
      • 將容器內的數據存儲至宿主機,避免因容器的修改、刪除、重建、損壞而丟失數據
    • h:指定容器主機名
    • m:指定容器內存大小,一般與--memory-swap共同作用。異常不生效時,參考:https://blog.csdn.net/qq23ue/article/details/86637460
    • cp:宿主機與容器文件拷貝
      • docker cp {container}:{path} {hostPath}:將容器內的文件拷貝至宿主機
      • docker cp {hostPath} {container}:{path}:將宿主機的文件拷貝至容器內
    • -e:設置環境變量(docker參數①),如docker run ...... -e JAVA_HOME=/var/java ......
    • --name:容器名稱
    • --net:網絡模式(使用host模式時,-p參數就不需要了)
    • --privileged=true:設置容器特權。設置為true時,容器內的root擁有宿主機真正的root權限,設置為false時,容器內的root只是宿主機的一個普通用戶權限
    • --log-opt:日志參數,常用max-size(文件大小)與max-file(文件數量)
    • --{containerParameter} {containerParameterValue}容器參數②,如docker run ...... --JAVA_HOME /var/java
  • docker exec:進入容器,示例:docker exec -it {container} {}

    • /bin/bash | /bin/sh | bash | sh
      *在容器中,鍵入exit退出容器
      *bash是sh的完整版,bash完全兼容sh命令,反之不行,具體那個可行需要看容器的基礎鏡像的腳本解釋器
  • docker logs:查看容器日志

    • -f:實時日志
    • -t:查看日志產生日期
    • --since:輸出指定日期之后的日志
    • --tail=N:輸出前N條日志
  • docker info:查看docker信息

  • 國內源配置,參考:https://www.cnblogs.com/anliven/p/6218741.html | http://www.lxweimin.com/p/4ef9cc9c2092

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。