⑴ Docker鏡像操作常用指令有哪些
docker version:查看docker版本;
docker info:查看docker詳細信息;
docker --help:查看docker命令;
鏡像命令
docker images:列出本地主機上的鏡像,REPOSITORY:表示鏡像的倉庫源;TAG:鏡像的標簽;IMAGE
ID:鏡像ID;CREATED:鏡像創建時間;SIZE :鏡像大小,同一個倉庫源可以有多個TAG,可以表示倉庫源的不同版本,使用REPOSITORY:TAG來定義不同的鏡像;
docker images -a:列出本地所有的鏡像;
docker images -p:只顯示鏡像ID;
docker images --digests:顯示鏡像的摘要信息;
docker images --no-trunc:顯示完整的鏡像信息;
docker search tomcat:從Docker Hub上查找tomcat鏡像;
容器命令
docker run [OPTIONS] IMAGE:根據鏡像新建並啟動容器,IMAGE是鏡像ID或鏡像名稱;
docker ps:列出當前所有正在運行的容器;
exit:退出並停止容器;
docker start 容器ID或容器名稱:啟動容器;
docker restart 容器ID或容器名稱:重新啟動容器;
docker stop 容器ID或容器名稱:停止容器;
docker kill 容器ID或容器名稱:強制停止容器;
docker rm 容器ID或容器名稱:刪除容器;
docker rm -f $(docker ps -a -q):刪除多個容器。
⑵ Docker常用命令,值得收藏
使用指定的鏡像來運行容器,並可選地在容器中運行指定的命令。
分離模式 :通過 -d 選項指定;容器會在任務(進程)結束時退出。
前台模式 :可以將控制台連接到容器中進程的標准輸入、輸出、錯誤;通過 -t 選項可以為其分配一個偽終端;通過 -i 選項可以保持標准輸入處於打開狀態。
--rm 選項能夠在容器退出時自動刪除容器。
羅列容器。
-a 選項可以列出所有的容器。
查看容器的詳細信息。
查看容器中運行的進程。
持續輸出容器的資源使用情況。
查看容器的埠映射。
查看容器的日誌(標准輸出、錯誤的內容)。
-f 選項可以持續輸出容器的日誌。
將本地終端的標准輸入、輸出、錯誤連接到容器。
在運行的容器中執行指定的命令。
使用 freezer cgroup 掛起容器中的所有進程(進程對掛起操作是無感知的)。
恢復容器中掛起的進程。
停止容器,終止容器中的進程:首先發送 SIGTERM 信號給容器中的進程,一段時間之後發送 SIGKILL 信號。
啟動停止的容器(還是運行之前給定的命令)。
刪除指定的容器。
--force 選項可以強制性刪除運行的容器。
在容器和主機之間拷貝文件、目錄。
將容器的文件系統(不包括卷的內容)導出為 tar 文件,後續可通過 docker import 來載入鏡像。
查看所有的頂層鏡像。
-a 選項可以查看所有的鏡像。
搜索 docker hub。
拉取鏡像。
基於源鏡像創建一個包含 tag 的鏡像。
推送鏡像。
從 tar 文件中載入鏡像。
保存鏡像為 tar 文件,後續可通過 docker load 來載入。
可通過 -o 選項將鏡像保存至指定的文件,默認輸出到標准輸出。
從標准輸入或 tar 文件中載入鏡像。
-i 選項指定從 tar 文件中載入鏡像。
刪除本地鏡像。如果 IMAGE 包含了 tag,且該鏡像具有多個 tags,則此命令只是移除該 tag,而不會刪除鏡像。
-f 選項可強制刪除運行容器所用的鏡像。
⑶ docker常用命令
1、 service docker start // 啟動docker
2、 docker images // 查看docker所安裝的鏡像
3、 docker search [name] 查詢某個鏡像 例如查詢mysql docker search mysql
4、 docker pull [name] 拉取某個鏡像 例如mysql docker pull mysql
5、 docker pull [name] [:tag] tag版本肢鍵號 如果不寫默認拉取最新的版本
例如: docker pull mysql:5.7
6、 docker rmi [imgaeId] 刪除命令,imageId是鏡像id
2.1 新建一個新的容器 docker pull centos
2.2 docker run [可選參數] image名字
參數說明
--name="Name" 給容器命名
-d 後台方式運行
-p [主機埠]:[容器埠] 指定容器的埠 例如啟動tomcat 命令: docker run -p 8081:8080 tomcat 解釋:8081是對外訪問(伺服器)的埠。8080是docker裡面的tomcat埠. tomcat是鏡像拉取下來後的名字. 例:若別人訪問。IP+8081埠才能訪問到tomcat啟動的項目
-P 大寫P是隨機指定埠
-it 與容器交互,就是進入到容器裡面
命令: docker run -it [鏡像名稱] /bin/bash 例子: docker run -it centos /bin/bash
docker ps 查看運行派行中的容器
docker ps -q 只查詢運行容器的編號,一般與下面-a合並使用, docker ps -aq
docker ps -a 查看曾經運行過的容器
docker ps -a -n=1 加上-n可以指定查詢最近幾個運行的容器、
Ctrl+p+q 這樣退出就不會停止容器
docker rm -f [容器id] 指定刪除某個運行的容器
docker rm -f $(docker ps -aq) 刪除全部運行的容器
docker start [容器id] 啟動容器
docker restart [容器id] 重啟容器
docker stop [容器id] 停止容器
docker kill [容器id] 強制停止容器
docker run -d [鏡像名] 例如: docker run -d centos
但是有問題, docker ps 查詢不到運行的容器
原因:docker容器用後台運行,就必須要有一個前台進程,docker發現沒有應用,所以就自動停止
docker logs -tf --tail 10 [容器id]
t的意思是時間戳,f保留日誌列印窗口,tail持續列印,10列印最後10條
docker top [容器id]
docker inspect [容器id]
方式一: docker exec -it [containt_id] /bin/bash // 進入該鏡像內部
docker cp [容器id]:[容器路徑] [主機路歷帶巧徑]
⑷ Docker命令全集
一:首先來理解三個名詞解釋:
1、鏡像(image)
Docker 鏡像(Image)就是一個只讀的模板。
例如:一個鏡像可以包含一個完整的操作系統環境,裡面僅安裝了 Apache 或用戶需要的其它應用程序。鏡像可以用來創建 Docker 容器,一個鏡像可以創建很多容器。
2、倉庫(repository)
倉庫(Repository)是集中存放鏡像文件的場所。
3、容器(container)
Docker 利用容器(Container)來運行應用。容器是從鏡像(Image)創建的運行實例。
二:常用的命令集合如下:
容器生命周期管理 — docker
[run|start|stop|restart|kill|rm|pause|unpause|create]
容器操作運維 — docker
[ps|exec|inspect|top|attach|events|logs|wait|export|import|port]
容器rootfs命令 — docker
[commit|cp|diff]
本地鏡像管理 — docker
[images|rmi|tag|build|history|save]
鏡像倉庫 — docker
[login|pull|push|search]
其他命令 — docker
[info|version]
詳細命令說明如下:
docker run -d --name alias-Name imageName //在後台啟動一個容器
docker start Name/ID //啟動容器
docker stop Name/ID //停止容器
docker restart Name/ID //重啟容器
docker kill -s KILL Name/ID //殺死一個運行的容器
docker rm /rm -f Name/ID //刪除容器
docker pause Name/ID //停止容器
docker unpause Name/ID //恢復容器
docker create --name CONTAINER_Name imageName //只創建容器但不啟動
docker ps / docker ps -a //查看運行的容器
docker exec -it CONTAINER_ID /bin/bash //進行一個運行中的容器,開啟一個新的終端
docker attach CONTAINER_ID //進行一個運行中的容器,不開啟一個新的終端
docker inspect CONTAINER_Name //查看容器的相關信息
docker top CONTAINER_Name //查看容器裡面的進程
docker events -f "image"="imageName" --since="1467302400" //時間戳=2016年7月1日後的相關事件
docker logs CONTAINER_Name //查看容器的日誌輸出
docker wait CONTAINER_Name //阻塞運行直到容器停止,然後列印出它的退出代碼
docker export -o test.tar CONTAINER_ID //將容器進行打包保存到本地,文件類型為tar
cat test.tar |docker import - image_name:tag //將上面保存的文件導入到鏡像庫中
docker port CONTAINER_ID //查看容器的埠映射情況
commit 從容器中創建一個新的鏡像
docker commit -a "tony test" -m "my mysql" CONTAINER_ID mymysql:v1
docker images mymysql:v1
cp 在使用的過程中會進行多個主機與容器之間的數據交換
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/
diff 用來檢查容器裡面文件結構的更改
docker diff CONTAINER_ID
docker images /docker images -a //查看本地的鏡像,-a 表示是所有的鏡像
docker rmi -f image_name //刪除鏡像
docker tag mysql:v5.6 mysql:v5.7 //給鏡像做一個有別名的復本
docker build -t runoob/ubuntu:v1 . //構建一個鏡像
docker history image_name //查看當前這個鏡像的 歷史 信息
docker save -o TestFlask.tar TestFlask:v3 //將當前的鏡像保存到本地的一個tar 類型的文件
docker login //登錄鏡像倉庫
docker pull //從鏡像倉庫中拉鏡像
docker push //向鏡像倉庫推本地的鏡像文件
docker search //檢索鏡像內容
三:利用dockerfile 製作一個tomcat 運行image:
[root@localhost common]# more Dockerfile.tomcat
FROM cloud.io/centos:7
COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm
RUN ["rpm","-ivh","/opt/jdk-8u144-linux-x64.rpm"]
COPY security /usr/java/jdk1.8.0_144/jre/security
COPY certs /etc/pki/tls/certs
COPY tomcat /opt/tomcat
RUN ["ln","-s","/opt/tomcat","/usr/local/tomcat"]
⑸ Docker常用命令大全
基礎操作:
1 docker images 查看鏡像信息列表 鏡像是靜態的
2 docker ps -a 查看運行中的所有容器
3 docker pull [images]:[version] 從dockerhub拉取指定鏡像
4 docker run -p 8000:80 -tdi --privileged [imageID] [command] 後台啟動docker,並指定宿主機埠和docker映射埠。
-i: 以交互模式運行容器,通常與 -t 同時使用;
-d: 後台運行容器,並返回容器ID;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--privileged 容器將擁有訪問主機所有設備的許可權
通常情況下 [command] 填下 /bin/bash 即可。
特殊情況下,如需要在centos鏡像中使用 systemctl . 則應添加 --privileged 並設置[command ]為 init 。
5 當鏡像通過run 啟動後,便會載入到一個動態的container(容器)中運行,此時若需要進入終端交互模式:
sudo docker exec -it [containerID] /bin/bash
交互模式中,使用 ctrl+p+q退出交互 保持運行,使用 exit命令退出並停止容器。
6 在容器非交互模式下,通過docker start/stop 命令來啟動/停止已部署的容器服務。
7 docker rm [containerID] 刪除容器
8 docker rmi [imageID] 刪除鏡像
9 docker cp [YourHostFilePath] [containerID]:[DockerPath] 將宿主機內的指定文件傳輸至容器內部的指定地址。
鏡像製作:
1 docker commit [containerID] [ImageName]:[Version] 將修改後的容器重新打包成鏡像
2 docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1 將容器a404c6c174a2 保存為新的鏡像,並添加提交人信息和說明信息。
-a :提交的鏡像作者;
-c :使用Dockerfile指令來創建鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
3 docker push [ImageID] [repertory_address] 提交鏡像到雲倉庫
(暫時先記錄這些,後續再更新)