Docker 基本觀念與使用教學:自行建立 Docker 影像檔

分享 Docker 影像

Docker Cloud 網站有提供一個註冊處(registry)功能,可以讓使用者上傳自己製作的 Docker 影像(image),分享給其他人下載(或是自己使用),看起來有點類似 GitHub,只是它裡面放的東西都是已經建立好的 Docker 影像(images)。

在註冊處(registry)中會包含許多個套件庫(repositories),而每個套件庫又包含了許多的 Docker 影像(images),我們可以在帳號的註冊處(registry)中建立好多個套件庫(repositories),方便管理不同類型的 Docker 影像(images)。

首先請到 Docker Cloud 網站註冊一個帳號(它是免費的),然後在自己的系統上使用 docker 指令登入:

docker login

Docker 預設就會使用 Docker Cloud 網站的註冊處(registry),所以執行這行指令之後,就可以直接輸入 Docker Cloud 帳號與密碼來登入。

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: guozhaowang
Password: 
Login Succeeded

登入成功之後,就可以準備上傳自己的 Docker 影像了。

在上傳影像之前,我們要先把自己製作的 Docker 影像(image)掛上比較正式的名稱,習慣上 Docker 的影像(image)名稱會以這樣的格式命名:

username/repository:tag

username 就是自己的帳號名稱,而 repositorytag 則是自己命名的套件庫與標籤名稱,建議使用比較有意義的字眼來命名,例如 guozhaowang/gtwang-demo:part1

決定好名稱之後,使用 dockertag 指令將 Docker 影像(image)標上指定的名稱:

docker tag friendlyhello guozhaowang/gtwang-demo:part1

接著再看一下目前的 Docker 影像(images)列表:

docker images

Docker 影像列表

從這裡就可以看到 Docker 影像列表多了一筆新的 guozhaowang/gtwang-demo,接著上傳這一個 Docker 影像:

docker push guozhaowang/gtwang-demo:part1

上傳 Docker 影像

將 Docker 影像(image)放上 Docker Cloud 之後,我們就可以在其他台電腦中直接使用這個 Docker 影像(image):

docker run -p 4000:80 guozhaowang/gtwang-demo:part1

執行時 Docker 會自動從套件庫中下載需要的 Docker 影像(image)來執行。

執行套件庫中的 Docker 影像

不管使用者在哪裡執行這個 Docker 影像(image),Docker 都會自動下載應用程式所需要的執行環境(例如 Python)與 requirements.txt 所列的套件,使用者只需要準備基本的 Docker 環境即可。

參考資料:Docker

虛擬化

3 留言

  1. Hever

    File “app.py”, line 15
    except RedisError:

    您的教學不錯,但我執行到
    docker run -p 4000:80 friendlyhello
    遇到了此問題,不曉得如何解?

    • 这个示例会连接redis,你确定你的redis可用吗?

  2. sam

    講的真好
    我最近也在錄製docker教學影片,可以一起交流!
    https://www.youtube.com/watch?v=pa1Zao1Hy2c&list=PLVVMQF8vWNCJnlO0Y34AE_1AgCapldp38

Comments are Closed