幫助命令
- docker version
- docker info
- docker --help
鏡像命令
- docker images --->本地主機上的所有鏡像
options
-a :所有鏡像
-q:只顯示鏡像ID(短鏡像ID)
--digests :顯示鏡像的摘要信息
--no-trunc:顯示完整的鏡像信息(長鏡像ID)
2.docker search [options] 鏡像名 ---> 命令行查找鏡像信息
docker 倉庫查找鏡像信息
OPTIONS
--no-trunc:顯示完整的鏡像信息
-s 300 : 收藏數(shù)不少于300
--automated
3.docker pull 鏡像名[:tag] ---> 下載鏡像
- docker rmi -f 鏡像ID ---> 刪除1個
docker rmi -f 鏡像名1:tag 鏡像名2:tag --->刪除多個
docker rmi -f $(docker images -qa) -----> 刪除所有鏡像
容器命令
- docker runn [OPTIONS] 鏡像名
OPTIONS說明(常用):有些是一個減號桩撮,有些是兩個減號
--name="容器新名字": 為容器指定一個名稱侥蒙;
-d: 后臺運行容器,并返回容器ID稀蟋,也即啟動守護式容器埂陆;
-P: 隨機端口映射购裙;
-p: 指定端口映射,有以下四種格式
ip:hostPort:containerPort
ip::containerPort
containerPort
使用鏡像centos:latest以交互模式啟動一個容器,在容器內(nèi)執(zhí)行/bin/bash命令鹃栽。
docker run -it centos /bin/bash
2躏率、docker ps [options]-->當(dāng)前的容器
OPTIONS說明(常用):
-a :列出當(dāng)前所有容器+
-l :顯示最近創(chuàng)建的容器。
-n:顯示最近n個創(chuàng)建的容器民鼓。
--no-trunc :不截斷輸出丰嘉。
3.exit ---> 停止容器退出夯到,ctrl+p+q 不停止容器退出
4.docker start 容器ID/容器名 --->啟動容器
docker restart 容器ID/容器名 --->重啟容器
docker stop 容器ID/容器名 --->停止容器
docker rm 容器ID --->刪除已停止的容器
一次性刪除多個容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
5.
- docker run -d 容器名
使用鏡像centos:latest以后臺模式啟動一個容器
docker run -d centos
問題:然后docker ps -a 進行查看, 會發(fā)現(xiàn)容器已經(jīng)退出
很重要的要說明的一點: Docker容器后臺運行,就必須有一個前臺進程.
容器運行的命令如果不是那些一直掛起的命令(比如運行top,tail)饮亏,就是會自動退出的耍贾。
這個是docker的機制問題,比如你的web容器,我們以nginx為例,正常情況下,我們配置啟動服務(wù)只需要啟動響應(yīng)的service即可路幸。例如
service nginx start
但是,這樣做,nginx為后臺進程模式運行,就導(dǎo)致docker前臺沒有運行的應(yīng)用,
這樣的容器后臺啟動后,會立即自殺因為他覺得他沒事可做了.
所以荐开,最佳的解決方案是,將你要運行的程序以前臺進程的形式運行
-
docker logs -f -t --tail 容器ID
-t 加入時間戳
-f 跟隨最新的日志打印
--tail 顯示最后條數(shù)
例:docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
docker top 容器ID---> 容器內(nèi)運行的進程
docker inspect 容器ID--->查看容器內(nèi)部細(xì)節(jié)
docker exec -it 容器ID /bin/bash -->進入正在運行的容器并以命令行交互(打開新終端,啟動新的進程)
docker attach 容器ID-->進入正在運行的容器并以命令行交互(進入容器啟動的終端劝赔,不會啟動新的進程)-
docker cp 容器ID:容器內(nèi)的路徑 主機目錄
docker commit -m'描述'-a'作者' 容器ID 鏡像名:[鏡像標(biāo)簽]