Docker 入門教程(2)——image與container


image鏡像

Definition of: image

Docker images are the basis of containers. An Image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime. An image typically contains a union of layered filesystems stacked on top of each other. An image does not have state and it never changes

引用docker官網的定義,大意是:

docker images是container的基礎。鏡像定義了容器運行所需要的文件和參數。鏡像沒有狀態也不會改變。

下載鏡像

<!--tag表示版本-->
docker pull 鏡像名:tag

查看鏡像

docker iamges

刪除鏡像

<!-- -f強制刪除-->
docker image rm -f 鏡像id或者鏡像名:tag

container容器

Definition of: container

A container is a runtime instance of a docker image.

A Docker container consists of

  • A Docker image
  • An execution environment
  • A standard set of instructions

The concept is borrowed from Shipping Containers, which define a standard to ship goods globally. Docker defines a standard to ship software.

引用docker官網的定義,大意是:

容器是鏡像的一個運行實例。由鏡像、運行環境、指令集組成。

ps:鏡像和容器的關系,就像類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。一個鏡像可以啟動多個容器,啟動一次鏡像就是創建一個容器,每個容器都是一個隔離環境,不會相互影響。

基於鏡像新建一個容器並啟動

docker run --name 容器名 -i -t -p 主機端口:容器端口 -d -v 主機目錄:容器目錄:ro 鏡像id或鏡像名:TAG

# --name 指定容器名,可自定義,不指定自動命名
# -i 以交互模式運行容器
# -t 分配一個偽終端,即命令行,通常與-i組合來使用
# -p 指定映射端口,將主機端口映射到容器內的端口
# -d 后台運行容器
# -v 指定掛載主機目錄到容器目錄,默認為rw讀寫模式,ro表示只讀

查看容器

docker ps -a -q
docker container ls -a -q

# -a 查看所有容器,包含運行中、未運行的
# -q 只查看容器id

啟動、停止、重啟、刪除

# 啟動
docker start 容器id
# 停止
docker stop 容器id
# 重啟
dockers start 容器id
# 刪除 -f 強制刪除
docker rm -f 容器id

查看日志

docker logs -f 容器id --tail 100

# -f 保持輸出
# --tail 輸出尾部多少行,默認所有

進入正在運行的容器

# 將后台運行的容器展示到前台,不能執行其他命令
docker attach 容器id

# 可以執行指定的cmd命令,如bash、curl等
docker exec -i -t 容器id cmd

拷貝文件

# 主機中文件拷貝到容器中
docker cp 主機文件路徑 容器ID或容器名:容器路徑 

# 容器中文件拷貝到主機中
docker cp 容器ID或容器名:容器路徑 主機文件路徑 

Docker registry

Docker registry是一個集中存儲、管理鏡像的遠程服務,類似與maven的遠程倉庫。最常用的Docker registry就是官方的Docker Hub。

鏡像名:Tag指定哪個版本的鏡像,來從Docker registry拉取指定鏡像。如果不指定Tag,將以lastest作為默認標簽。

例如我們拉取java 8的鏡像,使用docker pull java:8

總結

參考資料

純潔的微笑:Docker(一):Docker入門教程

docker docs

Docker —— 從入門到實踐


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM