2013-08-28 187 views
243

我從dockerfile構建了一個docker鏡像。我看到該圖像已成功構建,但我該如何處理它?它不應該能夠作爲容器運行嗎?將Docker鏡像作爲容器運行

新來的碼頭工人因此可能在我的一個誤會,任何幫助將是偉大的。

回答

390

運行它的具體方式取決於您是否給圖片添加了標籤/名稱。

$ docker images 
[email protected]:~# docker images 
REPOSITORY   TAG     ID     CREATED    SIZE 
ubuntu    12.04    8dbd9e392a96  4 months ago  131.5 MB (virtual 131.5 MB) 

與名稱(我們使用的Ubuntu ):

$ docker run -i -t ubuntu:12.04 /bin/bash 

如果沒有名稱,只是用ID:

$ docker run -i -t 8dbd9e392a96 /bin/bash 

請參閱https://docs.docker.com/engine/reference/run/以獲取更多信息。

+2

所以'搬運工PS -a'下 'NAME' 打印人性化的名字是不是有用嗎? – ThorSummoner

+4

'docker ps'列出容器,而不是圖像。如果你想從一個容器,你必須'搬運工commit'創建的圖像。您可以在提交中使用_NAME_(例如'docker commit _NAME_ _imagename_') – Andy

+1

@Andy爲什麼我們最後使用/ bin/bash?我也是新的 –

22

待辦事項以下步驟:

  1. $ docker images

    你會得到與指定標籤的所有本地泊塢窗圖像的列表。

  2. $ docker run image_name:tag_name

    如果沒有指定tag_name會自動加上「最新」標記運行圖像。

    而不是image_name您還可以指定圖像ID(無標籤名)。

1

以下是在docker中運行webdev服務的示例。
圖像的名字是morrisjobke/WebDAV的。你可以把它從dockerhub中拉出來。

運行此圖像後,你就可以在http://localhost:8888/webdav訪問WebDAV實例。內部文件夾/var/webdav用作WebDAV根目錄。

您可以按以下方式運行這個容器: $ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav

4
  • 要列出泊塢窗圖像
$ docker images 
  • 如果你的應用程序要在80端口上運行
$ docker run -d --restart=always -p 80:80 image_name:version 
相關問題