您好,登錄后才能下訂單哦!
這篇文章主要介紹“Docker中image container基本操作有哪些”,在日常操作中,相信很多人在Docker中image container基本操作有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker中image container基本操作有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
container
容器。可以把每個 container 看做是一個獨立的主機。 container 的創建通常有一個 image 作為其模板。類比成虛擬機的話可以理解為 image 就是虛擬機的鏡像,而 container 就是一個個正在運行的虛擬機。一個虛擬機鏡像可以創建出多個運行的虛擬主機且相互獨立。 注意:container 一旦創建如果沒有用 rm 命令移除,將會一直存在。所以用完后記得刪除哦。
image
鏡像。image 相當于 container 的模板,container 創建后里面有什么軟件完全取決于它使用什么 image 。image 可以通過 container 創建(相當于把此時 container 的狀態保存成快照),也可以通過 Dockerfile (一個文本文件,里面使用 docker 規定的一些寫法)來創建。其中通過 Dockerfile 創建的方法能讓環境配置和代碼一起被版本庫一起管理。
registry
存放鏡像的倉庫。只要能連接到 registry 每個人都可以很方便地通過 pull 命令從倉庫中獲取鏡像。docker 默認使用的倉庫是 docker hub,國內可以使用 DaoCloud 來建立 Mirror 連接到 docker hub,進而加快獲取 image 的速度。
boot2docker
一個輕量級 linux 虛擬機,主要是為了讓非 linux 系統也能用上 docker 。它實質上是一個 virtualbox 虛擬主機+一個能管理這個虛擬主機的命令行工具。由于這個虛擬主機的存在,在非 linux 系統上 container 需要獲取一些物理系統資源(如 usb 設備)時不僅需要配置 docker 命令,還需要配置 boot2docker 這個虛擬主機的資源配置。
通用:
操作 | 命令 | 示例 |
---|---|---|
查看 docker 版本 | docker version | docker version |
查看 docker 信息 | docker info | docker info |
查看某命令 help 信息 | docker help [command] | docker help attach |
查看 docker help 信息 | docker --help | docker --help |
container 相關:
操作 | 命令 | 示例 |
---|---|---|
創建 container | docker create | docker create chenhengjie123/xwalkdriver |
創建并運行 container | docker run | docker run chenhengjie123/xwalkdriver /bin/bash |
創建并運行 container 后進入其 bash 控制臺 | docker run -t -i image /bin/bash | docker run -t -i ubuntu /bin/bash |
創建并運行 container 并讓其在后臺運行,并端口映射 | docker run -p [port in container]:[port in physical system] -d [image] [command] | docker run -p 5000:5000 -d training/webapp python app.py |
查看正在運行的所有 container 信息 | docker ps | docker ps |
查看最后創建的 container | docker ps -l | docker ps -l |
查看所有 container ,包括正在運行和已經關閉的 | docker ps -a | docker ps -a |
輸出指定 container 的 stdout 信息(用來看 log ,效果和 tail -f 類似,會實時輸出。) | docker logs -f [container] | docker logs -f nostalgic_morse |
獲取 container 指定端口映射關系 | docker port [container] [port] | docker port nostalgic_morse 5000 |
查看 container 進程列表 | docker top [container] | docker top nostalgic_morse |
查看 container 詳細信息 | docker inspect [container] | docker inspect nostalgic_morse |
停止 continer | docker stop [container] | docker stop nostalgic_morse |
強制停止 container | docker kill [container] | docker kill nostalgic_morse |
啟動一個已經停止的 container | docker start [container] | docker start nostalgic_morse |
重啟 container (若 container 處于關閉狀態,則直接啟動) | docker restart [container] | docker restart nostalgic_morse |
刪除 container | docker rm [container] | docker rm nostalgic_morse |
命令中需要指定 container 時,既可使用其名稱,也可使用其 id 。
image 相關:
操作 | 命令 | 示例 |
---|---|---|
從 container 創建 image | docker commit [container] [imageName] | docker commit nostalgic_morse ouruser/sinatra:v2 |
從 Dockerfile 創建 image | docker build -t [imageName] [pathToFolder] | docker build ouruser/sinatra:v3 . |
查看本地所有 image | docker images | docker images |
在 registry 中搜索鏡像 | docker search [query] | docker search ubuntu |
從 registry 中獲取鏡像 (若無指定 tag 名稱,則默認使用 latest 這個 tag) | docker pull [imageName] | docker pull ubuntu:14.04 , docker pull training/webapp |
給 image 打 tag | docker tag [imageId] [imageName] | docker tag 5db5f8471261 ouruser/sinatra:devel |
把本地 image 上傳到 registry 中 (此時會把所有 tag 都上傳上去) | docker push [imageName] | docker push ouruser/sinatra |
刪除本地 image | docker rmi [image] | docker rmi training/sinatra |
注意:image 中沒有指定 tag 名稱的話默認使用 latest 這個 tag 。然而 latest 的含義和 VCS 中的 head 不一樣,不是代表最新一個鏡像,僅僅是代表 tag 名稱為 latest 的鏡像。若不存在 tag 名稱為 latest 的鏡像則會報錯。
到此,關于“Docker中image container基本操作有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。