一起學Docker5:如何分享我們的應用

既然我們已經構建了一個映象了,讓我們把它分享給其他人吧!

一起學Docker5:如何分享我們的應用

要分享docker映象,必須使用docker登錄檔。

預設登錄檔是 Docker Hub,可以自行搜尋對應網站。我們到目前為止用過的所有映象也都是從這裡來的。

建立一個庫

為了把一個映象推送到登錄檔中,我們首先需要在Docker Hub上建立一個庫。

1、登入 Docker Hub 。網址請自行搜尋,找不到也可發我私信詢問。

一起學Docker5:如何分享我們的應用

Docker Hub主頁

2、點選 Create Repository 按鈕

一起學Docker5:如何分享我們的應用

3、至於庫的名字,使用 getting-started 。確保可見性是 Public 。

一起學Docker5:如何分享我們的應用

4、點選 Create 按鈕

一起學Docker5:如何分享我們的應用

頁面右邊,能夠看到以 Docker commands 命名的段落。

一起學Docker5:如何分享我們的應用

它給出了一個範例命令,你之後會需要執行這個命令來往倉庫做推送。

推送映象

1、在命令列中,試著執行剛才看到的 Docker Hub 上的push命令。教程裡,命令中包含了docker,我的命令列中包含了krave。這分別是我們各自的名稱空間。你務必也要記得把名稱空間替換成你自己的名稱空間哦。

一起學Docker5:如何分享我們的應用

一起學Docker5:如何分享我們的應用

docker push docker/getting-started

但是為什麼命令會失敗呢?push命令會尋找以 docker/getting-started 命名的映象,但是失敗了,沒有找到。如果你執行 docker image ls 的話,你也找不到。

一起學Docker5:如何分享我們的應用

要解決這個問題,我們需要把之前構建的映象做tag操作,給這個映象另一個名字。

2、使用

docker login -u 你-的-名-字

登入Docker Hub

一起學Docker5:如何分享我們的應用

3、使用 docker tag 命令給 getting-started 映象起個新名字。記得把

你-的-名-字

替換成你的docker ID。比如我就把它替換成了krave

一起學Docker5:如何分享我們的應用

docker tag getting-started 你-的-名-字/getting-started

4、再試一次push命令。如果你從Docker Hub的網站上直接複製下來的話,你可以把 tagname 那部分去掉,因為我們沒有給映象名加標籤。如果不指定標籤的話,docker會使用 latest 標籤。

一起學Docker5:如何分享我們的應用

docker push 你-的-名-字/getting-started

在一個新例項上執行我們的映象

既然我們已經構建了映象,並把映象推送到了登錄檔中,讓我們在一個嶄新的例項上,試著執行一下我們的應用看看。這個新例項從未見過這個容器映象。我們會用到 Play with Docker。

1、網頁瀏覽器訪問 Play with Docker。如果

搜不到

網址的話,可以私信問我。

2、使用 Docker Hub 賬號登入。

一起學Docker5:如何分享我們的應用

3、登入後點擊左側的 “+ ADD NEW INSTANCE” 按鈕。幾秒鐘之後,瀏覽器中就會開啟一個終端視窗。

一起學Docker5:如何分享我們的應用

4、在瀏覽器的終端視窗中,啟動剛剛推送過的應用。

docker run -dp 3000:3000 你-的-名-字/getting-started

你會看到映象被拖下來,並且啟動應用。

一起學Docker5:如何分享我們的應用

5、3000標籤跳出來以後,點選一下這個標籤。你應該能夠看到你修改過的應用了。如果3000標籤沒有出現,你可以點選 “Open Port” 按鈕,並輸入3000。

一起學Docker5:如何分享我們的應用

回顧

在這一章中,我們學習瞭如何透過把我們的映象推送到登錄檔中,進行分享。然後我們啟動了一個嶄新的例項(可以理解為虛擬機器),並且在這個例項上,運行了剛剛推送到登錄檔的映象。這在持續整合的管道中很常見,管道會建立映象並將其推送到登錄檔中,然後生產環境就能夠使用最新版本的映象了。

搞清如何分享了之後,回到上一章

一起學Docker4:如何更新正在執行中的應用

最後留下的問題:重啟應用之後,所有的待辦列表任務都丟失了。這很明顯並不是一個好的使用者體驗,接著就來看看怎麼樣可以重啟應用的同時,仍舊保留資料吧!

操作中如果遇到問題,歡迎下方留言或給我私信。記得關注,我們下期,不見不散。

對了,國慶快樂哈!

頂部