Docker 常用指令

基于博主使用與學(xué)習(xí)過(guò)程,持續(xù)更新......

  • 重啟

    systemctl daemon-reload
    systemctl restart docker
    # 開(kāi)機(jī)啟動(dòng)
    systemctl enable docker
    
  • 管理

    # 刪除所有容器
    docker rm -f `docker ps -a -q`
    # 刪除無(wú)引用的鏡像
    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時(shí)期的docker參數(shù)①,只會(huì)在創(chuàng)建的時(shí)候執(zhí)行生效一次并作用于容器整個(gè)生命周期,而{containerParameter}docker start時(shí)期的容器參數(shù)②,每次啟動(dòng)都會(huì)執(zhí)行并生效,因此通過(guò)-e配置的用戶名密碼類(lèi)的環(huán)境變量不會(huì)因?yàn)槊看沃貑⑷萜鳎瑢⒁研薷牡?code>用戶名密碼還原

    • rm:刪除容器
    • rmi:刪除鏡像
    • f:強(qiáng)制執(zhí)行,一般配合刪除鏡像或容器一起使用
    • run:?jiǎn)?dòng)容器
    • exec:進(jìn)入容器
    • inspect:查看鏡像或容器的詳情
    • search:搜索鏡像,或訪問(wèn)https://hub.docker.com,搜索相關(guān)鏡像詳細(xì)說(shuō)明,點(diǎn)擊版本信息可查看Dockerfile,可閱讀相關(guān)配置
    • pull:拉取鏡像
    • logs:查看容器運(yùn)行日志
    • start:?jiǎn)?dòng),每次開(kāi)啟,程序重新加載容器參數(shù)②并開(kāi)啟進(jìn)程
    • stop:關(guān)停,每次關(guān)閉,程序會(huì)結(jié)束進(jìn)程
    • restart:重啟,每次關(guān)閉,程序首先結(jié)束進(jìn)程,再重新加載容器參數(shù)②并開(kāi)啟進(jìn)程

      start、stoprestart,雖然不會(huì)清空容器內(nèi)的數(shù)據(jù),但是不同于虛擬機(jī)掛起模式,不會(huì)保留操作當(dāng)時(shí)的狀態(tài),而是類(lèi)似于虛擬機(jī)或計(jì)算機(jī)的開(kāi)關(guān)機(jī)操作,每次操作都會(huì)進(jìn)入全新的狀態(tài),只是運(yùn)行的數(shù)據(jù)被保留

  • docker run

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

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

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

  • 國(guó)內(nèi)源配置,參考:https://www.cnblogs.com/anliven/p/6218741.html | http://m.itdecent.cn/p/4ef9cc9c2092

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容