Docker 經常使用命令速查手冊

記錄一下docker的平常使用命令,本文主要針對linux + mac操做系統而言,window是否適用不太肯定,謹慎使用html

1. docker進程

docker進程啓動、中止、重啓,常見的三種caselinux

# 啓動docker
service docker start
# 關機docker
service docker stop
# 重啓docker
service docker restart
複製代碼

2. 鏡像操做

鏡像做爲容器執行的前提條件,通常須要掌握的幾個命令無非是搜索,下載,刪除,建立git

# 鏡像列表
docker images
# 檢索鏡像, 從鏡像倉庫中檢索
docker search xxx
# 下載鏡像
docker pull xxx
# 刪除鏡像
docker rmi xxx
複製代碼

關於建立鏡像,有必要稍微詳細一點點github

# 經過容器建立鏡像
docker commit -m="首次提交" -a="一灰灰Blog" dd85eb055fe8 yh/centos:v0.1
# 鏡像歷史查詢
docker history yh/centos
複製代碼

上面的幾個參數進行說明docker

  • -m 和git的提交同樣,後面跟上描述信息
  • -a 版權聲明,這個東西是我建立的,有啥問題,找我
  • dd85eb055fe8 容器id
  • yhh/quick-os:0.1 建立的鏡像名

3. 容器操做

接下來就是正菜了,容器的各類操做,啓動,關閉,重啓,日誌查詢以及各類進入容器內部搞事情centos

a. run

萬事開頭第一步,加載鏡像,建立容器bash

docker run 鏡像名:版本
複製代碼

run後面能夠跟不少的參數,好比容器暴露端口指定,存儲映射,權限等等,因爲參數過多,下面只給出幾個不一樣的例子,來具體的演示參數能夠怎麼加學習

case1: 建立並後臺執行測試

docker run -i -t -d centos:latest
複製代碼
  • 其中關鍵參數爲-d,指定容器運行與前臺或者後臺,不加上時前臺
  • -i: 打開STDIN,用於控制檯交互
  • -t: 支持終端登陸

case2: 運行一個帶命令在後臺不斷執行的容器ui

docker run -d centos:latest ping www.baidu.com
複製代碼

case3: 運行一個在後臺不斷執行的容器,同時帶有命令,程序被終止後還能重啓繼續跑

docker run -d --restart=always centos:latest ping www.baidu.com
複製代碼

case4: 指定容器名

docker run -d --name=yhh_centos centos:latest
複製代碼

case5: 暴露容器端口80,並與宿主機端口8080綁定

docker run -d --name=yhh_centos -p 8080:80 centos:latest
複製代碼

case6: 指定容器與宿主機目錄(/home/yihui/html/www)共享

docker run -d --name=yhh_centos -v /home/yihui/html/www:/var/www centos:latest
複製代碼

b. 基操

容器建立完畢以後,就是一些基本操做了,啓動、中止、重啓、刪除

# 查看容器列表, 列出全部的容器
docker ps -a 
# 啓動容器,start後面能夠跟上容器名,或者容器id
docker start xxx  # (這裏的xxx能夠是容器名:yhh_centos 也能夠是容器id:f57398ab22c5)
# 關閉容器
docker stop xxx
# 重啓
docker restart xxx
# 刪除
docker rm xxx
複製代碼

在查看容器列表時,若是某個容器的啓動參數特別長,直接使用docker ps -a會發現看不到完整的啓動命令,這個時候能夠帶上參數--no-trunc來顯示完整命令

docker ps -a --no-trunc
複製代碼

c. 進階

接下來進入一些容器的高級操做技巧(實際上也並無特別酷炫)

爲了演示一些進階的內容,這裏建立一個容器做爲測試

docker run -it -d --name=yhhos centos
複製代碼

容器日誌查詢

日誌,定位問題的神器

# 查詢xxx容器的日誌
docker logs yhhos
複製代碼

基本上不太會直接使用上面的命令,由於上面把全部的日誌都打印出來了,能夠直接晃瞎咱們的鈦合金x眼

通常日誌能夠加兩個參數 -f, -t

docker logs -f -t --since="2019-05-11" --tail=10 yhhos
複製代碼
  • --since : 此參數指定了輸出日誌開始日期,即只輸出指定日期以後的日誌。
  • -f : 查看實時日誌
  • -t : 查看日誌產生的日期
  • --tail=10 : 查看最後的10條日誌。

文件拷貝

將容器的某個文件撈出來;或者強塞,一個cp便可

# 將當前目錄的test.md文件拷貝到容器的 /tmp 目錄下
docker cp test.md yhhos:/tmp

# 將容器的/tmp/test.md目錄拷貝到當前目錄下
docker cp yhhos:/tmp/test.md ./out.md
複製代碼

進入容器

進入容器內部,而後就能夠隨心所欲了...

docker exec -it yhhos /bin/bash
複製代碼

獲取容器全部信息

docker inspect yhhos
複製代碼

II. 其餘

1. 一灰灰Blogliuyueyi.github.io/hexblog

一灰灰的我的博客,記錄全部學習和工做中的博文,歡迎你們前去逛逛

2. 聲明

盡信書則不如,已上內容,純屬一家之言,因我的能力有限,不免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激

3. 掃描關注

一灰灰blog

QrCode
相關文章
相關標籤/搜索