㈠ 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 inspect查看或者,docker inspect container。
2,如果在容器內部。可以用ps -fe查看。其中1號進程就是啟動命令。
3,Docker會在隔離的容器中運行進程。當運行docker run命令時,Docker會啟動一個進程,並為這個進程分配其獨占的文件系統、網路資源和以此進程為根進程的進程組。在容器啟動時,鏡像可能已經定義了要運行的二進制文件、暴露的網路埠等,但是用戶可以通過docker run命令重新定義(譯者註:docker run可以控制一個容器運行時的行為,它可以覆蓋docker build在構建鏡像時的一些默認配置),這也是為什麼run命令相比於其它命令有如此多的參數的原因。
4,命令格式
5,最基本的docker run命令的格式如下:
$ sudo docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
6,如果需要查看[OPTIONS]的詳細使用說明,請參考Docker關於OPTIONS的章節。這里僅簡要介紹Run所使用到的參數。OPTIONS總起來說可以分為兩類:
設置運行方式:
決定容器的運行方式,前台執行還是後台執行;
設置containerID;
設置網路參數;
設置容器的CPU和內存參數;
設置許可權和LXC參數;
設置鏡像的默認資源,也就是說用戶可以使用該命令來覆蓋在鏡像構建時的一些默認配置。
7,docker run [OPTIONS]可以讓用戶完全控制容器的生命周期,並允許用戶覆蓋執行docker build時所設定的參數,甚至也可以修改本身由Docker所控制的內核級參數。
㈢ 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 選項可強制刪除運行容器所用的鏡像。