從事數(shù)據(jù)科學項目總是令人興奮的。然而,其中也不乏挑戰(zhàn)。每個項目都需要安裝(可能是)一長串的庫,以及每個庫可能需要特定的版本。因此,要想弄清項目的依賴關(guān)系可能相當具有挑戰(zhàn)性。這就是Docker可以提供幫助的地方。
Docker是一種流行的容器化技術(shù)。使用Docker可以將數(shù)據(jù)科學應用程序連同代碼和所需的依賴關(guān)系打包成一個名為鏡像的便攜式工件。因此,Docker可以簡化開發(fā)環(huán)境的復制,并使本地開發(fā)變得輕松。
以下是一些必備的Docker命令列表,這些命令將在你下一個項目的編碼過程中非常有用。本文將使用Docker Hub上的鏡像,這是一個最受歡迎的平臺,用于查找、分享和管理容器鏡像。
【Docker Hub】:https://hub.docker.com/
1. docker pull
要從Docker Hub上拉取鏡像,可以運行如下所示docker pull
命令:
docker pull <name-of-the-image>
例如,要從Docker Hub上拉取Python/ target=_blank class=infotextkey>Python鏡像,可以運行以下命令:
docker pull python
默認情況下,此命令將拉取可用的最新版本的鏡像。還可以選擇添加標簽以拉取特定版本的鏡像。
注意:如果想以無超級用戶權(quán)限的用戶身份運行Docker命令,請創(chuàng)建docker組并將用戶添加到該組。
2. docker images
要查看所有已下載的鏡像列表,可以運行docker images
命令。
docker images
3. docker run
可以使用docker run
命令從已下載的鏡像啟動容器。在從注冊表中拉取鏡像后,就可以啟動一個Docker容器,即鏡像的運行實例,如下所示:
docker run <name-of-the-image>
docker run [options] <name-of-the-image>
例如,可以使用-i
選項在啟動容器的同時啟動交互式Python REPL,而-t
選項會指定一個偽tty
,如下所示:
鏡像是一個便攜式工件,而容器則是鏡像的運行實例。這意味著可以通過單個Docker鏡像運行多個容器。
4. docker ps
可以運行docker ps
命令以獲取所有正在運行的容器的列表。
docker ps
請注意,每個Docker容器都有一個與之關(guān)聯(lián)的CONTAINER ID
。在接下來的幾分鐘里,我們將學習Docker命令來停止和重啟容器、檢查日志等。在這些命令中將使用特定容器的CONTAINER ID
。
假設(shè)在之前的某個會話中運行了一個容器,而該容器已不再運行。在這種情況下,可以運行帶有-a
選項的docker ps
命令。這會列出所有容器:當前正在運行的容器以及之前停止運行的容器。
docker ps -a
5. docker stop
有時可能需要停止正在運行的容器。要停止容器,請運行docker stop
命令。
docker stop <CONTAINER ID>
6. docker start
可以使用docker start
命令來重新啟動先前停止的容器。可以運行docker ps -a
命令,獲取容器ID,然后在 docker start
命令中使用該ID來重新啟動容器。
docker start <CONTAINER ID>
7. docker rmi
要刪除特定的鏡像,可以運行docker rmi
命令。
docker rmi <name-of-the-image>
運行此命令將從本地開發(fā)環(huán)境中刪除該鏡像。下次想要從該鏡像啟動容器時,將需要從DockerHub上拉取該鏡像。
8. docker rm
要永久從開發(fā)環(huán)境中刪除容器,可以運行docker rm
命令。但是,在嘗試刪除容器之前,建議確保容器已停止運行。
docker rm <CONTAINER ID>
9. docker logs
在調(diào)試容器時,docker logs
命令尤其有用。
docker logs <CONTAINER ID>
10. docker exec
使用docker exec
命令,可以在正在運行的容器內(nèi)執(zhí)行命令。
docker exec <CONTAINER ID> <COMMAND> <ARGS>
自行嘗試:作為總結(jié)所學知識的快速練習,從Docker Hub上獲取官方Bash映像。接下來,在啟動容器時嘗試啟動一個交互式終端會話,并運行一個基本的Bash命令。
【官方Bash映像】:https://hub.docker.com/_/bash
11. docker version
要檢查工作環(huán)境中安裝的Docker版本,請運行docker version
命令:
docker version
12. docker info
docker info
命令提供了有關(guān)Docker系統(tǒng)范圍安裝的更詳細信息。
docker info
結(jié)論
希望這篇關(guān)于必備Docker命令的教程對你有所幫助。一旦熟悉了Docker,可以嘗試將Python和數(shù)據(jù)科學應用程序進行Docker化。然后可以將應用程序的鏡像推送到Docker Hub。其他開發(fā)人員將能夠通過單個命令拉取你的鏡像并在他們的工作環(huán)境中啟動容器。