一、常用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