Linux和Docker常用命令

StruggleofDog發表於2020-11-17

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 有兩種模式,一種是普通模式,另一種是插入模式。執行上述命令以後進入普通模式。

按下字母鍵“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 版本資訊

相關文章