# Docker 學習日誌(2) ###### tags: `Docker` 在[Docker 學習日誌(1)](https://hackmd.io/tPM8Q9F_SD68YZrADhQ0Jw?both) 學習怎麼包Image之後,接下來要把Image 上傳到docker上 ## 建立Docker Repository 首先先登入個人的Docker account 在上傳 Docker Image 之前,我們必須先建立一個 Docker Repository。 1. 首頁右上角可以找到 Create,點選 Create Repository 2. 可以輸入你想要的 Repository 名稱,每個 Repository 的前綴字都會是登入帳號,像是 evenyang85/docker-test。 3. 專案可以選擇公開或是不公開,最後按下 create按鈕 就可以提交。 ## 上傳Docker Image 我們用`docker image ls`會看到曾經建立過的image  但有沒有發現 我們還沒設定過REPOSITORY 和 TAG **若只要單純設定REPOSITORY的話** ```shell= $ docker tag fa9e1845643e evenyang85/docker-test ``` **若要同時設定兩者的話** ```shell= $ docker tag fa9e1845643e evenyang85/docker-test:v1.0.0 ``` 完成  最後,使用 docker push 指令,就可以將 tag 好的 Image,上傳到指定的 Repository 囉。 ```shell= $ docker push evenyang85/docker-test ``` ## Docker Network 實作介紹  Host1 的實體主機需要連線到 Host2 的實體主機裡面的 Container1, 如果在沒有設定網路情況下 Host1 連不到 Host2,因為 Container1 是被保護在 Host2 實體機器裡。 如果要讓 Host1 連到 Host2 上,最簡單的方法是 1. 先讓 Host2 的 Port 對應到 Container1 的 Port 2. Host1 會先連到 Host2 實體主機的 Port,然後會對應到 Container1 的 Port 這樣 Host1 就可以連到 Host2 上的 Container1,這是最常使用的方法。 實作範例: 在執行 docker run 時,指定小寫的-p參數,指令如下 ```shell= $ docker run -d -p 3000:3000 evenyang85/docker-test:v1.0.0 ``` 左邊的 3000 Port 代表指定實體主機的 Port,對應到右邊 Container 裡面的 3000 Port 可以用`docker ps -a`查看目前運行的container  ## Reference [https://ithelp.ithome.com.tw/articles/10193291?sc=iThelpR](https://ithelp.ithome.com.tw/articles/10193291?sc=iThelpR)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up