容器生命周期管理
run
start/stop/restart
rm
pause/unpause
create
exec
容器操作
ps
inspect
top
attach
events
logs
wait
export
port
容器rootfs命令
commit
cp
diff
鏡像倉庫
login
pull
push
search
本地鏡像管理
images
rmi
tag
build
history
save
load
import
info|version
info
version
Docker run 命令
docker run:創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
語法
docker run[OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-a stdin:指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型纸兔,可選 STDIN/STDOUT/STDERR 三項(xiàng);
-d:后臺運(yùn)行容器,并返回容器ID;
-i:以交互模式運(yùn)行容器,通常與-t同時(shí)使用;
-P:隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)高端口;
-p:指定端口映射躏吊,格式為:主機(jī)(宿主)端口:容器端口;
-t:為容器重新分配一個(gè)為輸入終端饶碘,通常和-i同時(shí)使用;
--name xxx:為容器指定一個(gè)名稱;
-dns 8.8.8.8:指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致;
-h "mars":指定容器的hostname;
-e username="ritchie":設(shè)置環(huán)境變量;
-env-file=[]:從指定文件讀入環(huán)境變量;
-m:設(shè)置容量使用內(nèi)存最大值;
-net="bridge":指定容器的網(wǎng)絡(luò)連接類型刨摩,支持bridge/host/none/container 四種類型;
--link=[]:添加鏈接到另一個(gè)容器;
-expose=[]:開放一個(gè)端口或一組端口;
Docker start/stop/restart 命令
docker start:啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器
docker stop:停止一個(gè)運(yùn)行中的容器
docker restart:重啟容器
語法
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
啟動(dòng)以被停止的容器myrunoob
docker start myrunoob
停止運(yùn)行中的容器myrunoob
docker stop myrunoob
重啟容器myrunoob
docker restart myrunoob
Docker rm 命令
docker rm:刪除一個(gè)或多個(gè)容器
語法
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS說明:
-f :通過SIGKILL信號強(qiáng)制刪除一個(gè)運(yùn)行中的容器
-l :移除容器間的網(wǎng)絡(luò)連接,而非容器本身
-v :-v 刪除與容器關(guān)聯(lián)的卷
強(qiáng)制刪除容器db01,db02
docker rm -f db01 db02
移除容器nginx01對容器db01的連接世吨,連接名db
docker rm -1 db
刪除容器nginx01澡刹,并刪除容器掛載的數(shù)據(jù)卷
docker rm -v nginx 01
刪除已經(jīng)停止了的容器
docker rm db01
Docker pause/unpause 命令
docker pause :暫停容器中所有的進(jìn)程。
docker unpause :恢復(fù)容器中所有的進(jìn)程耘婚。
語法
docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
暫停數(shù)據(jù)庫容器db01提供服務(wù)
docker pause db01
恢復(fù)數(shù)據(jù)庫容器db01提供服務(wù)罢浇。
docker unpause db01
Docker create 命令
docker create:創(chuàng)建了一個(gè)新的容器但不啟動(dòng)它
用法同run
語法
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
docker crate -d -p --name myrunoob /bin/bash
Docker exec 命令
docker exec:? *在運(yùn)行的容器中執(zhí)行命令
語法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
-d :分離模式: 在后臺運(yùn)行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個(gè)偽終端
實(shí)例
在容器mynginx中以交互模式執(zhí)行容器內(nèi)/root/runoob.sh腳本
docker exec -it mynginx /bin/sh/root/runoob.sh
在容器mynginx中開啟一個(gè)交互模式的終端
docker exec -i -t mynginx /bin/bash
容器操作
docker ps:列出容器
語法
docker ps [OPTIONS]
-a:顯示所有容器,包括未運(yùn)行的;
-f:根據(jù)條件過濾顯示的內(nèi)容;
--format:指定返回值模板文件;
-l:顯示最近創(chuàng)建的容器;
-n:列出最近創(chuàng)建的n個(gè)容器;
--no-trunc:不截?cái)噍敵?
-q:靜默模式边篮,只顯示容器編號;
-s:顯示總的文件大小;
Docker inspect 命令
docker inspect:獲取容器/鏡像的元數(shù)據(jù)己莺。
語法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS說明:
-f :指定返回值的模板文件奏甫。
-s :顯示總的文件大小。
--type :為指定類型返回JSON凌受。
獲取鏡像mysql:5.6的元信息
docker inspect mysql:5.6
Docker top 命令
docker top:查看容器中運(yùn)行的進(jìn)程信息阵子,支持ps命令參數(shù)
語法
docker top [OPTIONS] CONTAINER [ps OPTIONS]
實(shí)例
查看容器mymysql的進(jìn)程信息
docker top mymysql
docker attach:連接到正在運(yùn)行中的容器
docker attach [OPTIONS] CONTAINER
Docker logs 命令
docker logs:獲取容器的日志
語法
docker logs [OPTIONS] CONTAINER
OPTIONS說明:
-f : 跟蹤日志輸出
--since :顯示某個(gè)開始時(shí)間的所有日志
-t : 顯示時(shí)間戳
--tail :僅列出最新N條容器日志
跟蹤查看容器mynginx的日志輸出
docker logs -f mynginx
Docker wait 命令
docker wait:阻塞運(yùn)行知道容器停止,然后打印出它的退出代碼胜蛉。
語法
docker wait [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
docker wait CONTAINER
Docker port 命令
docker port:列出指定的容器的端口映射挠进。
實(shí)例
查看容器mynginx的端口映射情況。
docker port mymysql
docker commit:從容器創(chuàng)建一個(gè)新的鏡像
語法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS說明:
-a :提交的鏡像作者誊册;
-c :使用Dockerfile指令來創(chuàng)建鏡像领突;
-m :提交時(shí)的說明文字;
-p :在commit時(shí)案怯,將容器暫停君旦。
實(shí)例
將容器a404c6c174a2 保存為新的鏡像,并添加提供人信息和說明信息嘲碱。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2? mymysql:v1
docker cp:用于容器與主機(jī)之間的數(shù)據(jù)拷貝金砍。
語法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
實(shí)例
將主機(jī)/www/runoob目錄拷貝到容器96f7f14e99ab的/www目錄下。
docker cp /www/runoob 96f7f14e99ab:/www/
將主機(jī)/www/runoob目錄拷貝到容器96f7f14e99ab中麦锯,目錄重命名為www恕稠。
docker cp /www/runoob 96f7f14e99ab:/www
將容器96f7f14e99ab的/www目錄拷貝到主機(jī)的/tmp目錄中。
docker cp? 96f7f14e99ab:/www /tmp/
Docker diff 命令
docker diff:檢查容器里文件結(jié)構(gòu)的更改扶欣。
語法
docker diff [OPTIONS] CONTAINER
實(shí)例
查看容器mymysql的文件結(jié)構(gòu)更改鹅巍。
docker diff mymysql
Docker login/logout 命令
實(shí)例
登陸到Docker Hub
docker login -u 用戶名 -p 密碼
登出Docker Hub
docker logout
Docker pull命令
docker pull:從鏡像倉庫中拉取或者更新指定鏡像
語法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
實(shí)例
從Docker Hub下載java最新版鏡像
docker pull java
從Docker Hub下載REPOSITORY為java的所有鏡像
docker pull -a java
Docker import 命令
docker import:從歸檔文件中創(chuàng)建鏡像
語法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
實(shí)例
從鏡像歸檔文件my_ubuntu_v3.tar創(chuàng)建鏡像,命名為runoob/ubuntu:v4
docker import? my_ubuntu_v3.tar runoob/ubuntu:v4
Docker version 命令
docker version:顯示Docker版本信息
語法
docker version [OPTIONS]
實(shí)例
dokcer version
Docker info 命令
docker info:顯示Docker系統(tǒng)信息料祠,包括鏡像和容器數(shù)骆捧。
實(shí)例
查看docker 系統(tǒng)信息
docker info
Docker save命令
docker save:將指定鏡像保存為tar歸檔文件
OPTIONS 說明:
-o :輸出到的文件。
語法
docker save [OPTIONS] IMAGE [IMAGE...]
實(shí)例將鏡像runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文檔
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
Docker images命令
docker images:列出本地鏡像
語法
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS說明:
-a :列出本地所有的鏡像(含中間映像層术陶,默認(rèn)情況下凑懂,過濾掉中間映像層);
--digests :顯示鏡像的摘要信息梧宫;
-f :顯示滿足條件的鏡像接谨;
--format :指定返回值的模板文件;
--no-trunc :顯示完整的鏡像信息塘匣;
-q :只顯示鏡像ID脓豪。
實(shí)例
查看本地鏡像列表
docker images
列出本地鏡像中REPOSITORY為ubuntu的鏡像列表。
docker images ubuntu
Docker rmi 命令
docker rmi:刪除本地一個(gè)或多個(gè)鏡像
語法
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS說明:
-f :強(qiáng)制刪除忌卤;
--no-prune :不移除該鏡像的過程鏡像扫夜,默認(rèn)移除;
實(shí)例
強(qiáng)制刪除本地鏡像 runoob/ubuntu:v4。
docker rmi -f runoob/ubuntu:v4
Docker tag 命令
docker tag : 標(biāo)記本地鏡像笤闯,將其歸入某一倉庫堕阔。
實(shí)例
將鏡像ubuntu:15.10標(biāo)記為 runoob/ubuntu:v3 鏡像。
docker tag ubuntu:15.10 runoob/ubuntu:v3
Docker build 命令用于使用Dockerfile 創(chuàng)建鏡像
語法
docker build [OPTIONS] PATH | URL | -
實(shí)例
使用當(dāng)前目錄的Dockerfile創(chuàng)建鏡像颗味,標(biāo)簽為runoob/ubuntu:v1超陆。
docker build -t runoob/ubuntu:v1
也可以通過 -f Dockerfile 文件的位置
docker build -f /path/to/a/Dockerfile