1. 程式人生 > >三文搞懂學會Docker容器技術(中)

三文搞懂學會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」創作共享協議,轉載請在文章明顯位置註明作者及出處。

------------------------------------------------------------------------------------------------------------------------------

&n