Docker常用命令使用
-
docker ps
列出容器
使用語法:
docker ps [options] options參數說明: -a :顯示所有的容器历筝,包括未運行的。 -f :根據條件過濾顯示的內容。 --format :指定返回值的模板文件。 -l :顯示最近創(chuàng)建的容器。 -n :列出最近創(chuàng)建的n個容器拿霉。 --no-trunc :不截斷輸出。 -q :靜默模式咱扣,只顯示容器編號绽淘。 -s :顯示總的文件大小。
ex:
#列出所有正在運行的容器 docker ps #列出所有容器 docker ps -a #根據容器的Status過濾 docker ps -f STATUS=created #列出最近創(chuàng)建的3個容器 docker ps -n 3
-
docker run
創(chuàng)建一個新的容器并運行一個命令
使用語法:
docker run [options] image [command] [arguments] options參數說明: -a stdin: 指定標準輸入輸出內容類型闹伪,可選 STDIN/STDOUT/STDERR 三項沪铭; -d: 后臺運行容器,并返回容器ID偏瓤; -i: 以交互模式運行容器杀怠,通常與 -t 同時使用; -t: 為容器重新分配一個偽輸入終端厅克,通常與 -i 同時使用赔退; --name="hadoop01": 為容器指定一個名稱; --dns 8.8.8.8: 指定容器使用的DNS服務器证舟,默認和宿主一致硕旗; --dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致女责; -h "zhq": 指定容器的hostname漆枚; -e username="zhaoheqiang": 設置環(huán)境變量; --env-file=[]: 從指定文件讀入環(huán)境變量鲤竹; --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行浪读; -m :設置容器使用內存最大值; -net="bridge": 指定容器的網絡連接類型辛藻,支持 bridge/host/none/container: 四種類型碘橘; --link=[]: 添加鏈接到另一個容器; --expose=[]: 開放一個端口或一組端口吱肌; -p 將容器的端口映射到主機的某個端口 -P 將容器的80端口映射到主機的任意一個端口 -v 指定主機某目錄映射到容器某個目錄
ex:
#使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為ruby_nginx痘拆。 docker run --name ruby_nginx -d ruby:latest #使用鏡像nginx:latest以后臺模式啟動一個容器,并將容器的80端口映射到主機隨機端口。 docker run -P -d nginx:latest #使用鏡像nginx:latest以后臺模式啟動一個容器,將容器的80端口映射到主機的80端口,主機的目錄/data映射到容器的/data氮墨。 docker run -p 80:80 -v /data:/data -d nginx:latest #使用鏡像nginx:latest以交互模式啟動一個容器,在容器內執(zhí)行/bin/bash命令纺蛆。 docker run -it nginx:latest /bin/bash
-
docker start/stop/restart/pause/unpause
啟動容器/停止容器/重啟容器/暫停容器中所有的進程/恢復容器中所有的進程
使用語法
docker start/stop/restart/pause/unpause [container]
ex:
#啟動nginx容器 docker start nginx #停止nginx容器 docker stop nginx #重啟nginx容器 docker restart nginx #暫停數據庫容器mysql提供服務吐葵。 docker pause mysql #恢復數據庫容器mysql提供服務。 docker unpause mysql
-
docker kill
殺掉一個或多個運行中的容器
使用語法
docker kill [options] container options參數說明: -s :向容器發(fā)送一個信號 默認是KILL
ex:
#殺死運行中的nginx容器 docker kill -s KILL nginx / docker kill nginx
-
docker rm
刪除一個或多少容器
使用語法
docker rm [options] container options參數說明: -f :通過SIGKILL信號強制刪除一個運行中的容器 -l :移除容器間的網絡連接桥氏,而非容器本身 -v :刪除與容器關聯的卷
ex:
#強制刪除centos容器 docker rm -f centos #移除容器nginx對容器mysql的連接温峭,連接名database docker rm -l database #刪除容器nginx,并刪除容器掛載的數據卷 docker rm -v nginx
-
docker create
創(chuàng)建一個新的容器但不啟動它
使用語法
docker create [options] image [command] [arguments]
ex:
參照docker run -
docker exec
在運行的容器中執(zhí)行命令
使用語法
docker exec [options] container command [arguments] options參數說明: -d :分離模式: 在后臺運行 -i :即使沒有附加也保持STDIN 打開 -t :分配一個偽終端
ex:
#在容器nginx中以交互模式執(zhí)行容器內/root/run.sh腳本 docker exec -it nginx /bin/sh /root/run.sh #在容器nginx中開啟一個交互模式的終端 docker exec -it nginx /bin/bash
-
docker inspect
獲取容器/鏡像的元數據
使用語法
docker inspect [options] name|id options參數說明: -f :指定返回值的模板文件。 -s :顯示總的文件大小字支。 --type :為指定類型返回JSON凤藏。
ex:
#獲取鏡像nginx的元信息 docker inspect nginx #獲取正在運行的容器mysql的IP docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
-
docker attach
連接到正在運行中的容器
使用語法
docker attach [options] container
ex:
#進入nginx容器 docker attach nginx
-
docker commit
從容器創(chuàng)建一個新的鏡像
使用語法
docker commit [options] container [repository[:tag]] options參數說明: -a :提交的鏡像作者; -c :使用Dockerfile指令來創(chuàng)建鏡像堕伪; -m :提交時的說明文字揖庄; -p :在commit時,將容器暫停欠雌。
ex:
docker commit -a "zhaoheqiang" -m "init_Java_web_enviroment" a4987c6c174a2 JavaWeb:1.0.0
-
docker cp
用于容器與主機之間的數據拷貝
使用語法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
ex:
#將主機/www/soft目錄拷貝到容器centos的/www目錄下蹄梢。 docker cp /www/soft centos:/www/ #將主機/www/soft目錄拷貝到容器centos中,目錄重命名為soft富俄。 docker cp /www/soft centos:/soft #將容器centos的/soft目錄拷貝到主機的/tmp目錄中禁炒。 docker cp centos:/soft /test/
-
docker diff
檢查容器里文件結構的更改。
使用語法
docker diff 容器名
ex:
#查看容器nginx的文件目錄 docker diff nginx
-
docker pull
從鏡像倉庫中拉取或者更新指定鏡像
使用語法
docker pull [options] name[:tag] options參數說明: -a :下載所有已經打過標簽的鏡像 --disable-content-trust :忽略鏡像的校驗,默認開啟
ex:
#獲取java最新版鏡像霍比。 docker pull java #獲取java的所有鏡像齐苛。 docker pull -a java
-
docker push
將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
使用語法
docker push [options] name[:tag] options參數說明: --disable-content-trust :忽略鏡像的校驗,默認開啟
ex:
#上傳javaweb環(huán)境1.0.1鏡像到遠程鏡像庫 docker push javaWeb:1.0.1
-
docker search
查找某個鏡像
使用語法
docker search imageName
-
docker images
查看本地鏡像
-
docker rmi
刪除本地一個或多少鏡像
使用語法
docker rmi [options] image [image...] options參數說明: -f :強制刪除; --no-prune :不移除該鏡像的過程鏡像桂塞,默認移除
ex:
強制刪除本地鏡像zhaoheqiang/centos:1.0。 docker rmi -f zhaoheqiang/centos:1.0
-
docker tag
標記本地鏡像馍驯,將其歸入某一倉庫
使用語法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
ex:
#將鏡像ubuntu:15.10標記為 zhaoheqiang/ubuntu:v5 鏡像 docker tag ubuntu:15.10 zhaoheqiang/ubuntu:v5
-
docker build
使用Dockerfile創(chuàng)建鏡像
詳細使用方法 參考:http://blog.csdn.net/rznice/article/details/52211620?yyue=a21bo.50862.201879