常用命令
1、輔助命令
# 1.安裝完成輔助命令
docker version -------------------------- 查看docker的信息
docker info -------------------------- 查看更詳細的信息
docker --help -------------------------- 幫助命令
2、Images 鏡像命令
# 1.查看本機中所有鏡像
docker images -------------------------- 列出本地所有鏡像
-a 列出所有鏡像(包含中間映像層)
-q 只顯示鏡像id
# 2.搜索鏡像
docker search [options] 鏡像名 ------------------- 去dockerhub上查詢當前鏡像
-s 指定值 列出收藏數不少於指定值的鏡像
--no-trunc 顯示完整的鏡像信息
# 3.從倉庫下載鏡像
docker pull 鏡像名[:TAG|@DIGEST] ----------------- 下載鏡像
例: (1)docker pull nginx ---------------將默認拉取最新版等於docker pull nginx:latest命令
(2) docker pull nginx:1.11.1 ---------------拉取指定版本的nginx
# 4.刪除鏡像
docker rmi 鏡像名 -------------------------- 刪除鏡像
-f 強制刪除
3、Contrainer 容器命令
再來回顧一次docker架構圖
上一節課我們看了鏡像的一些基本操作,下面我們來看看容器的操作。
在docker中主要用到的就是容器。
容器的基本概念就是:它就是應用運行的一個實例,比如我日後下載了nginx鏡像,我用docker run nginx 就是運行了一個正在跑起來的nginx服務。
3.1、基本命令(容器外操作)
# 1.運行容器
docker run 鏡像名 -------------------------- 鏡像名新建並啓動容器
--name 別名爲容器起一個名字
-d 啓動守護式容器(在後臺啓動容器)
-p 映射端口號:原始端口號 指定端口號啓動
ps:--name需要寫在-p之前
例:docker run -d -p 80:80 nginx ----------代表啓動nginx並把容器內部的80端口映射到主機centos7的80端口,此時會給我們返回一串字符串,這就是當前容器的id
現在去訪問192.168.0.103(主機ip) 就可以看到nginx服務提示了
# 2.查看運行的容器
docker ps -------------------------- 列出所有正在運行的容器
-a 正在運行的和歷史運行過的容器
-q 靜默模式,只顯示容器編號
# 3.停止|關閉|重啓容器
(容器id可以只輸入一部分,能識別出來就行)
docker start 容器名字或者容器id --------------- 開啓容器
docker restart 容器名或者容器id --------------- 重啓容器
docker stop 容器名或者容器id ------------------ 正常停止容器運行
docker kill 容器名或者容器id ------------------ 立即停止容器運行
# 4.刪除容器
docker rm -f 容器id和容器名
docker rm -f $(docker ps -aq) -------------------------- 一次性刪除所有容器
# 5.查看容器內進程
docker top 容器id或者容器名 ------------------ 查看容器內的進程
# 6.查看查看容器內部細節
docker inspect 容器id ------------------ 查看容器內部細節
# 7.查看容器的運行日誌
docker logs [OPTIONS] 容器id或容器名 ------------------ 查看容器日誌
-t 加入時間戳
-f 跟隨最新的日誌打印
--tail 數字 顯示最後多少條
3.2、進階命令(容器內數據交互)
centos ----> docker(引擎) ----> mynginx(容器)
# 1.進入容器內部
docker exec [options] 容器id 容器內命令 ------------------ 進入容器執行命令
-i 以交互模式運行容器,通常與-t一起使用
-t 分配一個僞終端 shell窗口 /bin/bash
例如:docker exec -it 8151 /bin/bash
# 2.容器內安裝軟件
apt-get update
apt-get install 安裝包名稱
# 3.修改容器內文件
vim ...
# 4.退出容器
exit 退出容器
# 5.將容器打包爲新的鏡像
docker commit -a="作者" -m="描述信息" 容器ID 目標鏡像名稱:TAG
# 6.從容器中複製文件到宿主機目錄中
docker cp 容器id:容器內資源路徑 宿主機目錄路徑 ----------------- 將容器內資源拷貝到主機上
# 7.設置容器和宿主機共享目錄
docker run -it -v /宿主機的絕對路徑:/容器內的路徑:ro(只讀) 鏡像名
注意: 宿主機路徑必須是絕對路徑,宿主機目錄會覆蓋容器內目錄內容
例如:docker run -d -p 80:80 -v /root/home:/usr/share/nginx/html nginx
運行 docker inspect 容器id 命令 檢查json串裏有沒有以下內容,如果有則證明卷掛載成功。
"Mounts": [
{
"Type": "bind",
"Source": "/root/home",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
# 8.打包鏡像
docker save 鏡像名或id -o 名稱.tar
# 9.載入鏡像
docker load -i 名稱.tar