我在碼頭工人的起始位置。我正在嘗試創建需要一些基本圖像的helloworld docker鏡像。我在內聯網工作。那麼,我如何獲得基礎圖像?我使用紅帽Linux 7如何下載基礎碼頭圖像以創建hello world碼頭圖像?
回答
Docker會自動下載您在Dockerfile中指定的基礎映像。因此,例如,一個非常簡單的「你好世界」的形象可能是;您Dockerfile的
內容:
FROM alpine
CMD echo "hello-world"
從Dockerfile構建一個圖像,並將其命名爲 「你好」:
docker build -t hello .
你會看到碼頭工人拉alpine
圖像,如果它不是還沒有,然後建立形象;
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
---> 70c557e50ed6
Step 2 : CMD echo "hello world"
---> Running in 94fcb9b89aaa
---> 6462a272b1d6
Removing intermediate container 94fcb9b89aaa
Successfully built 6462a272b1d6
然後,您可以(後直接對其做這個形象將只運行和退出)運行從圖像容器
$ docker run hello
hello world
您可以使用任何圖像作爲「基地」( FROM
)圖像爲您自己的圖像,所以您在Docker Hub上找到的任何圖像都可以用作基礎。
但是,一般來說,建議使用「官方」圖像作爲自己圖像的基礎。有各種各樣的「發行版」,例如Ubuntu,Debian,Alpine(如果你想要一個輕量級的圖像),CentOS等等。基本映像不必與主機的發行版相匹配(因此,即使您的主機上運行有Red Hat,也可以使用「Ubuntu」作爲映像)
您可以在這裏找到官方圖像; https://hub.docker.com/explore/
對於更高級的「hello world」圖片,請參閱此處的文檔; https://docs.docker.com/engine/userguide/containers/dockerizing/
並編寫Dockerfiles的最佳實踐; https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
使用tar
一般創建一個完整的圖像,你要開始運行分配一個工作機器,你想包作爲雖然對於Debian的Debootstrap
等一些工具來說並不是必需的,您也可以使用它來構建Ubuntu映像。
它可以是如此來創建一個Ubuntu基礎圖像作爲簡單:
$ sudo debootstrap raring raring > /dev/null
$ sudo tar -C raring -c . | docker import - raring
a29c15f1bf7a
$ docker run raring cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"
有在多克爾GitHub庫創建基礎圖像的更多示例腳本:
一般來說,我不建議嘗試構建自己的基礎圖像;官方基礎鏡像得到很好的維護,並且被掃描以查找漏洞。這很容易搞砸建立你自己的基礎圖像,並且需要時間和精力讓它們保持最新狀態 – thaJeztah
- 1. 碼頭基礎圖像:如何升級
- 2. 碼頭服務創建圖像命令像`碼頭運行'
- 3. 如何根據現有圖像創建新的碼頭圖像?
- 4. jenkins構建碼頭圖像
- 5. 基礎圖像中包含什麼,同時使用FROM構建碼頭圖像
- 6. 如何在碼頭文件不存在的情況下構建碼頭圖像
- 7. 在Jenkins(碼頭集裝箱)管道中建造碼頭圖像
- 8. 使用jenkins碼頭圖像
- 9. 如何檢查碼頭集線器中的碼頭圖像?
- 10. 如何使用初始化數據庫創建碼頭圖像
- 11. 如何與乘客創建碼頭圖像?
- 12. 如何從ISO文件創建碼頭圖像?
- 13. 在碼頭上構建圖像
- 14. 碼頭工人無法建立圖像
- 15. 未能建立碼頭圖像
- 16. 如何安全掃描碼頭圖像?
- 17. 如何使用舊的碼頭圖像?
- 18. 如何解析碼頭圖像名稱?
- 19. 從多個碼頭集線器圖像或私人回購碼頭的圖像構建圖像
- 20. 如何動態更改碼頭的基本圖像
- 21. 下載圖像頭代碼不工作在我的域名
- 22. 更改默認碼頭圖像在Fedora 23下載位置
- 23. 大廈碼頭圖像下載大文件失敗,錯誤
- 24. 從瀏覽器訪問碼頭容器的碼頭圖像
- 25. 碼頭圖像和碼頭搜索命令有什麼區別?
- 26. 如何從頭開始創建一個hello world DNN模塊
- 27. 如何查看碼頭圖像/容器限制?以及如何修改它,而我們運行「碼頭建設」?
- 28. 基礎圖像
- 29. 從生產環境中創建碼頭圖像可能嗎?
- 30. 碼頭遠程API的圖像格式日期創建字段
謝謝thaJeztah。但是我在intranetwork中工作,我無法下載任何基本映像。所以,他們是下載圖像文件並將其粘貼到我的本地碼頭倉庫的一種方式。 –
如果你正在一個沒有互聯網連接的環境中開發,你可以在一個有*互聯網連接的系統上'docker pull'基礎鏡像,然後使用https://docs.docker.com導出基礎鏡像。/engine/reference/commandline/save /,並使用'docker load'加載它們。這可以完全控制哪些圖像可用,並允許使用。或者,設置一個開發人員可以連接到的私有存儲庫來提取圖像。 – thaJeztah
請注意,本地存儲庫可以充當泊塢窗集線器的鏡像;如果沒有互聯網連接,我認爲有可能也有效。這會讓你選擇使用官方圖像,但不要讓開發人員選擇額外的圖像。 – thaJeztah