Docker--容器和映象的使用
一:容器的使用
-
使用容器我們可以通過Docker客戶端進行操作,使用Docker命令我們可以看到所有的客戶端命令
# docker //可以看到簡潔版的
# man docker //可以看到該命令的詳細解釋
# docker command --help //詳細瞭解command命令的用法
-
使用Docker執行一個web應用
# docker pull training/webapp
//載入映象
# docker run -d -P training/webapp python app.py
//建立容器,後臺執行web應用
# docker ps
//檢視程式
# docker run -d -p 4999:5000 training/webapp python app.py
//使用-p引數設定端介面號,格式:4999(本地4999埠):5000(容器的5000埠,預設的python flask埠。python flask詳情:https://blog.csdn.net/u012734441/article/details/62036503)
# docker port 容器Id或者容器名
//檢視容器的埠
//引數:
* -d: 讓容器在後臺執行。
* -P: 將容器內部使用的網路埠對映到我們使用的主機上。
* -p: 修改本地對映的埠。
docker ps結果為:
可以看到ports欄位,顯示的為Docker的5000對應了本地的1024埠,我們在瀏覽器輸入:”本地伺服器ip:1024 “,就可以看到web執行的結果。
-
顯示容器的程式日誌、
# docker logs 容器Id或者容器名
//靜態顯示容器的執行日誌
# docker logs -f 容器Id或者容器名
//動態顯示容器的執行日誌
-
檢視容器內部執行的程式
# docker top 容器Id或者容器名
//顯示容器內部執行的程式,顯示結果如下:
UID PID PPID C STIME TTY TIME CMD
root 13096 13078 0 16:49 ? 00:00:00 python app.py
。。。。。。。
-
檢查容器,顯示容器的所有資訊
# docker inspect 容器Id或者容器名
//顯示Docker 的底層資訊。它會返回一個 JSON 檔案記錄著 Docker 容器的配置和狀態資訊。示例如下:
[
{
"Id": "b4e66581cadb896107f1e9edf036bf7174593f544b16f1ffddcd04b8532e2532",
"Created": "2018-10-12T08:49:26.027911855Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 13096,
"ExitCode": 0,
"Error": "",
"StartedAt": "2018-10-12T08:49:26.274568849Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:6fae60ef344644649a39240b94d73b8ba9c67f898ede85cf8e947a887b3e6557",
.....................
-
停止容器
# docker stop 容器Id或者容器名
-
啟動與重啟容器
# docker start 容器Id或者容器名
//啟動已經被停止的容器
# docker restart 容器Id或者容器名
//重啟正在執行的容器
# docker ps -l
//顯示最後一個建立的容器
-
刪除不需要的容器
# docker rm 容器Id或者容器名
//刪除容器,注意:刪除的容器必須是非執行狀態的,否則會刪除不成功報錯,
二:映象的使用
-
列出映象列表
-
同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本,如ubuntu倉庫源裡,有15.10、14.04等多個不同的版本,我們使用 REPOSITORY:TAG 來定義不同的映象。
-
如果不指定一個映象的版本標籤,例如你只使用 ubuntu,docker 將預設使用 ubuntu:latest 映象。
-
docker images
####引數說明:
* REPOSITORY:表示映象的倉庫源
* TAG:映象的標籤
* IMAGE ID:映象ID
* CREATED:映象建立時間
* SIZE:映象大小
-
獲取新的映象
-
在本地主機上使用一個不存在的映象時 Docker 就會自動下載這個映象。如果我們想預先下載這個映象,我們可以使用 docker pull 命令來下載它。
-
docker pull tomcat
#不指定映象的tag便是下載最新的latest
docker pull tomcat:8
#指定映象tag
-
查詢映象
-
我們可以從 Docker Hub 網站來搜尋映象,Docker Hub 網址為: https://hub.docker.com/
-
我們也可以使用 docker search 命令來搜尋映象。比如我們需要一個httpd的映象來作為我們的web服務。我們可以通過 docker search 命令搜尋 httpd 來尋找適合我們的映象
-
docker search httpd
###引數說明:
* NAME:映象倉庫源的名稱
* DESCRIPTION:映象的描述
* OFFICIAL:是否docker官方釋出
-
建立映象
####方式一:從已經建立的容器中更新映象,並且提交這個映象
##:需要有一個容器
docker run -t -i ubuntu:15.10 /bin/bash
##:在執行的容器內使用 apt-get update 命令進行更新
apt-get update
##:退出容器
exit命令 或者 ctrl + c
##:通過命令 docker commit來提交容器副本為新映象
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
* -m:提交的描述資訊
* -a:指定映象作者
* e218edb10161:容器ID
* runoob/ubuntu:v2:指定要建立的目標映象名
##:檢視提交的新映象,建立新映象完畢
docker images
####:方式二: 使用 Dockerfile 來建立一個新的映象
請移步:https://blog.csdn.net/CSDN___LYY/article/details/83061188
-
設定(修改)映象標籤
-
使用 docker tag 命令,為映象新增一個新的標籤
-
docker tag 860c279d2fec runoob/centos:dev
##引數介紹:
* docker tag : 建立標籤
* 860c279d2fec : 映象的唯一ID
* runoob/centos:dev : 新的名稱與標籤
-
刪除映象
docker rmi <options> <imageID>or<imageName>
##引數options:
* -f :強制刪除;
* --no-prune :不移除該映象的過程映象,預設移除;
-
檢視映象變動歷史
docker history <options> <imageID>or<imageName>
##引數options:
* -H :以可讀的格式列印映象大小和日期,預設為true;
* --no-trunc :顯示完整的提交記錄;
* -q :僅列出提交記錄ID。
-
映象歸檔為tar檔案
-
歸檔為檔案後,便於對映象進行遷移
-
docker save -o <filename.tar> <imageID>or<imageName>
##引數:
-o filename.tar: 指定輸出到的檔案
-
從tar檔案匯入映象
docker import -m "new image" file_path
##引數:
* -c :應用docker 指令建立映象;
* -m :提交時的說明文字;
相關文章
- Docker--容器技術Docker
- 1.03 docker的映象和容器Docker
- 淺述容器和容器映象的區別
- docker 映象和容器的基本命令Docker
- 對容器映象的思考和討論
- 批量刪除容器和映象
- 容器和容器映象的區別,您真的瞭解嗎
- Docker--基礎知識點--20--Commit映象DockerMIT
- Docker 最常用的映象命令和容器命令Docker
- Docker——理解好映象和容器的關係Docker
- docker 批量刪除容器和映象Docker
- Docker掃盲之容器與映象的基本使用Docker
- 使用 ansible-bender 構建容器映象
- HyperLedger/Fabric SDK使用Docker容器映象快Docker
- docker刪除所有容器和映象命令Docker
- Docker--建立tomcat+JDK映象併發布web專案例項DockerTomcatJDKWeb
- Docker--基礎知識點--19--映象原理之分層理解Docker
- 容器和映象轉化、遷移方式【轉】
- .NET 8 的openEuler 容器映象
- 小陳的容器映象站
- Docker容器和映象的建立/匯出/刪除/匯入Docker
- Harbor實現容器映象倉庫的管理和運維運維
- docker容器與映象的區別Docker
- 構建更小的容器映象的技巧
- Docker 匯出容器 / 映象Docker
- StarRocks 容器映象構建
- docker 移除,裁剪,刪除(prune)不使用的映象、容器、卷、網路Docker
- 製作容器映象的最佳實踐
- Docker--基礎Docker
- 容器技術之Docker映象Docker
- OCI 與容器映象構建
- 容器安全之映象掃描
- 還不明白 Docker 的映象跟容器?Docker
- 從容器映象的選擇-alpine 說起
- distroless 映象介紹及 基於cbl-mariner的.NET distroless 映象的容器
- 突破難關:Docker映象和容器的區別以及構建的最佳實踐Docker
- Rocky Linux 9.3 為 PowerPC 64 位帶回雲和容器映象LinuxRPC
- harbor私有映象安裝和使用