三文搞懂學會Docker容器技術(中)

接着上面一篇:三文搞懂學會Docker容器技術(上)

6,Docker容器

  6.1 創建並啟動容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

–name=”容器新名字”:為容器指定一個名稱;

-i:以交互模式運行容器,通常與-t或者-d同時使用;

-t:為容器重新分配一個偽輸入終端,通常與-i同時使用;

-d: 後台運行容器,並返回容器ID;

-P: 隨機端口映射,容器內部端口隨機映射到主機的端口

-p: 指定端口映射,格式為:主機(宿主)端口:容器端口

 啟動普通容器: docker run –name 別名 鏡像ID  

 啟動交互式容器:  docker run -it –name 別名 鏡像ID   來運行一個容器,取別名,交互模式運行,以及分配一個偽終端

 守護式方式創建並啟動容器

 docker run -di –name 別名 鏡像ID 

執行完命令后,終端依然再宿主機上;

 

啟動容器,並執行/bin/bash命令;

 docker run -it –name 別名 鏡像ID  /bin/bash命令

端口映射;

docker run -it -p 8888:8080 tomcat

docker run -it -P tomcat

  6.2 列出容器

docker ps [OPTIONS]

OPTIONS說明:

-a :显示所有的容器,包括未運行的。

-f :根據條件過濾显示的內容。

–format :指定返回值的模板文件。

-l :显示最近創建的容器。

-n :列出最近創建的n個容器。

–no-trunc :不截斷輸出。

-q :靜默模式,只显示容器編號。

-s :显示總的文件大小。

docker ps 查看正在運行的容器

docker ps -a 查看所有容器

docker ps -n 2  显示最近創建的2個容器

docker ps -f status=exited 查看停止的容器

  6.3 退出容器

exit 容器停止退出

ctrl+P+Q 容器不停止退出

  6.4 進入容器

docker attach 容器ID or 容器名 

  6.5 啟動容器

docker start 容器ID or 容器名

  6.6 重啟容器

docker restart 容器ID or 容器名

  6.7 停止容器

docker stop 容器ID or 容器名

暴力刪除,直接殺掉進程 (不推薦)

docker kill 容器ID or 容器名

  6.8 刪除容器

docker rm 容器ID  

如果刪除正在運行的容器,會報錯,我們假如需要刪除的話,需要強制刪除;

強制刪除docker rm -f 容器ID

刪除多個容器 

docker rm -f 容器ID1  容器ID2 中間空格隔開

刪除所有容器

docker rm -f $(docker ps -qa)

  6.9 宿主機和容器之間文件拷貝

宿主機文件 copy to 容器內

docker cp 需要拷貝的文件或者目錄   容器名稱:容器目錄

容器內 copy to 宿主機

docker cp 容器名稱:容器目錄    宿主機目錄

  6.10 查看容器日誌

$ docker logs [OPTIONS] CONTAINER

  Options:

        –details        显示更多的信息

    -f, –follow         跟蹤實時日誌

        –since string   显示自某個timestamp之後的日誌,或相對時間,如42m(即42分鐘)

        –tail string    從日誌末尾显示多少行日誌, 默認是all

    -t, –timestamps     显示時間戳

        –until string   显示自某個timestamp之前的日誌,或相對時間,如42m(即42分鐘)

(以上了解)

 

鋒哥推薦,簡單粗糙方式,直接去docker容器文件里找;

具體未知:/var/lib/docker/containers/

每個容器對應一堆文件,然後有個log結尾的,就是日誌文件;

我們打開;

很直觀 假如時間長了 日誌文件很大,直接自己操刀處理即可;

  6.11 查看容器進程

docker top 容器ID

 

  6.12 進入容器執行命令

docker exec -it 容器名稱 或者 容器ID 執行命令

直接操作容器,執行完 回到 宿主主機終端;

 我們一般用於 啟動容器里的應用 比如 tomcat nginx redis elasticsearch等等

  6.13 提交運行時容器成為鏡像

docker commit

docker commit -a=’作者’ -m=’備註’ 運行時容器ID 新鏡像名稱

 

  6.14 推送鏡像到hub服務器

我們可以通過docker push命令 把自己本地定製的鏡像推送到Hub服務器,方便全球開發者使用,包括自己;

 

上一講,我們定製了一個鏡像 java1234/tomcat7 tag是1.1

我們把這個鏡像發布到hub服務器;

 

步驟一:

https://hub.docker.com/ 註冊下 得到docker id和密碼

 

步驟二:

我們用docker login登陸hub服務器

 

步驟三:

docker push推送

docker push java1234/tomcat7:1.1

 

推送成功:

登陸 https://hub.docker.com/   點擊 Repositories 菜單

 

已經显示這個鏡像;

點擊:

我們加簡介和描述信息;

點Tags:

我們可以刪除掉;

 

  6.15 推送鏡像到阿里雲

很多時候,中小公司為了方便搭建私有倉庫方便,直接使用穩定的阿里雲鏡像倉庫,方便公司內部業務系統直接拉取鏡像;

步驟一:

進入:https://cr.console.aliyun.com  阿里雲鏡像控制台  需要註冊  用戶名就是你的淘寶或者支付寶 賬號名稱 ,鏡像控制台密碼單獨設置;

步驟二:

進入控制台,我們先創建命名空間,再創建鏡像;

然後我們可以根據阿里雲官方提示說明來進行鏡像遠程登錄,提交,以及拉取操作,簡單易用;

  6.16 查看容器元信息

docker inspect 容器ID

 

 

——————————————————————————————————————————

作者: java1234_小鋒

出處:https://www.cnblogs.com/java688/p/13174646.html

版權:本站使用「CC BY 4.0」創作共享協議,轉載請在文章明顯位置註明作者及出處。

——————————————————————————————————————————

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

新北清潔公司,居家、辦公、裝潢細清專業服務

※推薦評價好的iphone維修中心

您可能也會喜歡…