1、經常使用Linux 命令
ls -a(同時列出隱含文件), -l(輸出一個比較完整的格式,除每一個文件名外,增長顯示文件html
類型、權限、硬連接數、全部者名、組名、大小(byte)、及時間信息-----簡化爲 ll)java
mkdir 新建目錄 例:mkdir test 命令會在當前目錄下創建一個名爲「test」的新目錄
mysql
touch 建立文件 例:touch test/readme.txt 在 test 目錄下建立 readme.txt文件
linux
cd 切換目錄 cd /. 到根目錄 cd .. 上一級目錄 cd /hahaha/hahaha 到指定目錄
nginx
pwd 顯示當前目錄sql
mv 移動/重命名(加上 -i 參數詢問是否覆蓋) mv hello rock/ 移動到rock目錄下 docker
mv hello rock 重命名爲rock數據庫
cp 拷貝 (加上 -i 參數詢問是否覆蓋,-r 參數遞歸調用) ubuntu
cp -ir test/ workspace"(遞歸複製 test 目錄到 workpace 目錄下並在覆蓋時提示)vim
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」並回車,實現撤銷。
2、經常使用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 版本信息