Linux和Docker常用命令


一、常用Linux 命令

  ls   -a(同時列出隱含文件),  -l(輸出一個比較完整的格式,除每個文件名外,增加顯示文件

     類型、權限、硬鏈接數、所有者名、組名、大小(byte)、及時間信息-----簡化為 ll)

  mkdir    新建目錄 例:mkdir test 命令會在當前目錄下建立一個名為“test”的新目錄  

  touch   創建文件    例:touch test/readme.txt 在 test 目錄下創建 readme.txt文件

  cd   切換目錄  cd /.  到根目錄    cd .. 上一級目錄   cd /hahaha/hahaha  到指定目錄

  pwd   顯示當前目錄

  mv   移動/重命名(加上 -i 參數詢問是否覆蓋)   mv hello rock/ 移動到rock目錄下   

       mv hello rock 重命名為rock

  cp   拷貝 (加上 -i 參數詢問是否覆蓋,-r 參數遞歸調用)  

        cp -ir test/  workspace"(遞歸復制 test 目錄到 workpace 目錄下並在覆蓋時提示)

  rm   刪除 (加上 -i 參數確認提示,-r 參數遞歸調用)  

      rm -ir test/  遞歸刪除test目錄及其子目錄並詢問

  wget url  下載文件到當前目錄

  sudo  暫時獲取超級用戶權限(有默認時長)加上 -i 參數 沒有時間限制,輸入 exit或logout 退出

  su  賬戶名    切換到某某用戶模式,沒有時間限制

  ZIP 工具:

    壓縮文件  zip target.zip filename

    壓縮文件夾  zip -r target.zip dir   -r 參數表示遞歸壓縮子目錄

    解壓  unzip target.zip

  tar 工具:

    -c: 建立壓縮檔案

    -x:解壓
    -t:查看內容
    -r:向壓縮歸檔文件末尾追加文件
    -u:更新原壓縮包中的文件

    這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用

    其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的
    -z:有gzip屬性的
    -j:有bz2屬性的
    -Z:有compress屬性的
    -v:顯示所有過程
    -O:將文件解開到標准輸出

    下面的參數-f是必須的

    -f: 使用檔案名字,切記,這個參數是最后一個參數,后面只能接檔案名

    例:tar -xvf file.tar //解壓 tar包

      tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java //解壓jdk到指定文件夾  

      tar -cZf  jpg.tar.Z  *.jpg  //將目錄里所有jpg文件打包成jpg.tar后,並且將其用

        compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z

  vim 編輯器:  vim test.cpp

    vim 有兩種模式,一種是普通模式,另一種是插入模式。執行上述命令以后進入普通模式。

    按下字母鍵“i”進入插入模式,使用方向鍵移動光標到需要插入的位置,然后輸入想要插入

    的內容。編輯完成后按鍵“Esc”退出回到普通模式,在普通模式下輸入冒號“:”,然后輸入

    w 回車,保存更改。接着輸入“:q”退出。也可以直接輸入“:wq”保存並退出(注意 w 一定要

    在 q之前,先保存再退出)。

    查找:在普通模式下輸入“/查找內容”,回車,即可定位到第一個匹配項。接着按下字母

       鍵“n”可以查找下一個。

    撤銷:普通模式下輸入“:u”並回車,實現撤銷。

二、常用docker 命令

  1.鏡像

    docker images  列出本地所有鏡像

    docker search(-s) nginx  搜索相關鏡像 加上-s 參數 選出至少start數范圍的鏡像 

    docker pull(-a) 鏡像名:版本號 拉取鏡像,-a pull all

    docker push 192.168.0.100:5000/ubuntu      推送鏡像庫到私有源

    docker rmi(-f) 鏡像名:版本號/鏡像ID   刪除鏡像 (加上 -f 參數 強制刪除)

    docker rmi $(docker images -q)  刪除所有鏡像

    docker rmi $(docker images | grep "none" | awk '{print $3}') 刪除所有名字中帶

        “none” 關鍵字的鏡像

    docker save docker.io/tomcat:7.0.77-jre7 >/root/mytomcat7.tar.gz 導出鏡像

    docker load < /root/mytomcat7.tar.gz  導入鏡像

  2.容器

    docker ps 查看當前正在運行的容器

    docker inspect name/image[name/image...] 查看詳細

    docker ps -a 查看所有容器的狀態

    docker start/stop(-t) id/name[name...] 啟動/停止某個(多個)容器 -t 指定時間

    docker kill (-s) name[name...] 強制中斷 -s指定SIGINT信號類型,默認“kill”

    docker restart (-t) name[name...]  重啟 -t 指定時間

    docker pause name 暫停  docker unpause name 繼續

    docker rm(-$) name[name...] 移除 

      -f  --force=false  強制移除運行中容器

      -l  --link=false     移除指定鏈接,保留底層容器

      -v   --volumes=false   移除容器關聯卷

    docker commit(-$)name 鏡像名:版本號   提交指定容器為鏡像

      -a, --author=""     作者

      -m, --message=""     簡要說明

      -p, --pause=true    暫停容器再提交

 

    docker logs(-$) name  輸出指定容器日志信息

      -f  跟蹤日志輸出

      -t  顯示時間戳 類似 tail -f

      --tail  在日志的末尾輸出指定行數日志(默認所有日志)

    docker attach id 進入某個容器(使用exit退出后容器也跟着停止運行)

    docker exec -ti id 啟動一個偽終端以交互式的方式進入某個容器

            (使用exit退出后容器不停止運行)

    docker run(-$) IMAGE [COMMAND] [ARG...]    運行一個容器

      -d          指定容器運行於前台還是后台,默認為false     

       -i          打開STDIN,用於控制台交互,默認為false  

      -t           分配tty設備,該可以支持終端登錄,默認為false   

      -u, --user=""              指定容器的用戶   

      -a, --attach=[]            登錄容器(必須是以docker run -d啟動的容器)  

      -w          指定容器的工作目錄  

      -c             設置容器CPU權重,在CPU共享場景使用    

      -e, --env=[]                指定環境變量,容器中可以使用該環境變量   

      -m          指定容器的內存上限    

      -P, --publish-all=false 指定容器暴露的端口    

      -p, --publish=[]           指定容器暴露的端口   

      -h         指定容器的主機名    

      -v, --volume=[]            給容器掛載存儲卷,掛載到容器的某個目錄  

      --volumes-from=[]       給容器掛載其他容器上的卷,掛載到容器的某個目錄 

      --cap-add=[]     添加權限

      --cap-drop=[]         刪除權限

      --cidfile=""      運行容器后,在指定文件中寫入容器PID值,監控系統用法   

      --cpuset=""       設置容器可使用哪些CPU,此參數可以用來容器獨占CPU   

      --device=[]           添加主機設備給容器,相當於設備直通   

      --dns=[]                       指定容器的dns服務器   

      --dns-search=[]           指定容器的dns搜索域名,寫入到容器/etc/resolv.conf文件   

      --entrypoint=""             覆蓋image的入口點   

      --env-file=[]                  指定環境變量文件,文件格式為每行一個環境變量   

      --expose=[]                  指定容器暴露的端口,即修改鏡像的暴露端口   

      --link=[]                        指定容器間的關聯,使用其他容器的IP、env等信息   

      --lxc-conf=[]                 指定容器的配置文件,只有在指定--exec-driver=lxc時使用   

      --name=""                    指定容器名字,links特性需要使用名字   

      --net="bridge"             容器網絡設置:  

                                        bridge 使用docker daemon指定的網橋       

                                        host    //容器使用主機的網絡    

                                        container:NAME_or_ID  >

                    //使用其他容器的網路共享IP和PORT等網絡資源    

                                        none 容器使用自己的網絡(類似--net=bridge)

      --privileged=false         指定容器是否為特權容器,特權容器擁有所有的權限

      --restart="no"               指定容器停止后的重啟策略:  

                                         no:    容器退出時不重啟    

                                         on-failure:   容器故障退出(返回值非零)時重啟   

                                         always:   容器退出時總是重啟   

      --rm=false           指定容器停止后自動刪除容器(不支持以docker run -d啟動的容器)   

      --sig-proxy=true  設置由代理接受並處理信號,SIGCHLD,SIGSTOP和SIGKILL不代

    例:

      docker run -i -t centos6.8 進入到默認的線程”/bin/bash”,直接進入控制台操作

      docker run -i -t -d centos6.8 進入到默認的線程”/bin/bash”,后台運行

      docker run -d --restart=always centos6.8  ping www.docker.com 帶命令啟動

      docker run -d --name=server-dbcentos6.8-mysql /usr/bin/mysql_safe -d

              容器的名稱為server-db,同時激活了數據庫mysql的后台線程

      docker run -d --name=server-db -p 3306:3306 -v /server/mysql-data:/

              mysql-datacentos6.8-mysql /usr/bin/mysql_safe –d

              將宿主機的數據庫目錄/server/mysql-data掛載到server-db上

      docker run -d --name=server-db -p 3306:3306 centos6.8-mysql 

              /usr/bin/mysql_safe –d 服務器宿主機與容器端口映射並暴露

      docker run -d --name=server-http --link=server-db  -p 8080:80centos6.8-httpd

              /usr/bin/httpd --DFOREGROUND

              映射服務器宿主機的8080端口,關聯service-db 

      docker run -it --rm  centos6.8  容器進程結束后,立馬自動刪除

 

  3.docker option

    --api-enable-cors=false           在遠程API中啟用CORS 頭
    -b, --bridge=""                     橋接網絡 使用“none” 禁用容器網絡
    --bip=""                             網橋模式                                        
    -d, --daemon=false                  守護者模式
    -D, --debug=false                    debug 模式
    --dns=[]                               強制 docker 使用指定 dns 服務器
    --dns-search=[]                     強制 docker 使用指定 dns 搜索域
    -e, --exec-driver="native"         強制 docker 運行時使用指定執行驅動器
    --fixed-cidr=""                      固定IP的IPv4子網(例: 10.20.0.0/16)必須鑲套在橋子網

                  中(由-b or --bip定義)                                         
    -G, --group="docker"                當在守護模式中運行時,組指向-H指定的unix套接字。

                  使用""禁用組設置。
    -g, --graph="/var/lib/docker"     容器運行的根目錄路徑
    -H, --host=[]                           套接字綁定到守護模式。使用一個或多個tcp://主機:端

                  口,unix:///路徑/到/套接字,fd://*或fd://socketfd.
    --icc=true                             inter-container跨容器通信
    --insecure-registry=[]                使用指定的注冊表啟用不安全通信(沒有HTTPS的證書驗

                  證和啟用HTTP回退)(例如,localhost:5000或10.20.0 /16)
    --ip="0.0.0.0"                       綁定容器端口時使用的IP地址
    --ip-forward=true                      使用net.ipv4.ip_forward轉發
    --ip-masq=true                          使IP偽裝成橋的IP范圍
    --iptables=true                     啟用Docker添加iptables規則
    --mtu=0                                設置容器網絡mtu                            
    -p, --pidfile="/var/run/docker.pid"    指定守護進程pid文件位置
    --registry-mirror=[]                指定一個首選的鏡像倉庫(加速地址)                 
    -s, --storage-driver=""                強制 docker 運行時使用指定存儲驅動
    --selinux-enabled=false             開啟 selinux 支持
    --storage-opt=[]                    設置存儲驅動選項
    --tls=false                           開啟 tls
    --tlscacert="/root/.docker/ca.pem"  只信任提供CA簽名的證書
    --tlscert="/root/.docker/cert.pem"      tls 證書文件位置
    --tlskey="/root/.docker/key.pem"     tls key 文件位置
    --tlsverify=false                       使用 tls 並確認遠程控制主機
    -v, --version=false                   輸出 docker 版本信息

    

 

 

出處:http://www.cnblogs.com/popotan/p/8510364.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM