對于那些初學者來說,docker(著名的虛擬化容器)也許是一個不太熟悉的概念。但隨著它成為一個越來越重要的技術,并且被許多公司采用,它已經變得很難忽略。下面就簡要介紹下如何入門學習docker:
首先,我們需要安裝docker。安裝命令各類系統不相同,可以通過docker的官網找到給出的詳細說明。為方便起見,這里我們以Ubuntu為例:
sudo apt-get update sudo apt-get install docker.io
安裝后,我們可以使用docker的命令來啟動和管理容器。以下是一些最基本的命令:
docker run [image-name]:[version] # 運行一個image(例如,docker run ubuntu:14.04) docker ps # 列出當前正在運行的容器 docker stop [container-id] # 停止一個容器 docker images # 列出已安裝的images docker pull [image-name] # 下載一個image docker rm [container-id] # 刪除一個容器 docker rmi [image-name] # 刪除一個image
下一步,我們需要想辦法創建我們自己的docker image。這可以通過一個叫做Dockerfile的文件實現。一個簡單的Dockerfile看起來像這個樣子:
FROM ubuntu:14.04 MAINTAINER [author-name] RUN apt-get update && apt-get install -y [package-name] CMD [executable]
上面的Dockerfile中,FROM命令指定了image的來源(ubuntu:14.04),MAINTAINER命令用于定義鏡像的維護者,RUN命令用于在image中運行一個命令(例如,apt-get update),CMD命令指定當容器啟動后要運行的可執行文件。
當你有了自己的Dockerfile之后,你就可以用docker build命令來建一個新的image。下面是命令的例子:
docker build -t [image-name] [dockerfile-directory]
在這個命令中,-t命令用于給image命名(例如,ubuntu-node),[dockerfile-directory]指明了Dockerfile所在的目錄。
最后,你可以把你創建的容器push到一個Registry上,這個Registry上有你要發布的鏡像。如果你沒有Registry,你也可以使用docker hub,它是docker project提供的一個Registry。下面是例子:
docker login docker tag [image-name] [username]/[repository]:[tag] docker push [username]/[repository]:[tag]
在這些命令中,login命令用于登錄,tag命令標明你push的內容,push命令用于push到Registry上。
這里僅僅涵蓋了一些基礎知識,但是它們足以讓你理解docker的基本用法以及如何創建自己的image并push到Registry上。