---
# System prepended metadata

title: 雲端通訊整合實務(10/06)
tags: [docker]

---

# 雲端通訊整合實務(10/06)
###### tags: `docker`
# 測試1
## VM1設定
將docker images存檔成一個壓縮檔，並將壓縮檔傳送至其他虛擬機並啟動：
```
docker save -o [檔名].tar [容器ID]
```
例如：
```
docker save -o myhttpd.tar 417
```
而壓縮完的檔案會被壓縮在當前路徑，接著將檔案複製到另一台虛擬機上：
```
scp myhttpd.tar user@192.168.102.131:/home/user
```
## VM2設定
查看第二台的路徑下有無壓縮檔，接著在第二台虛擬機上輸入
```
docker load -i myhttpd.tar
```
若docker images鏡像的資訊欄出現`<none>`，可以使用：
```
docker tag 417 cf337188/httpd:1.0
```
# 測試2
## VM1設定
**建立自己的倉儲Harbor：**
先下載harbor壓縮檔
```
wget http://csie.nqu.edu.tw/smallko/harbor1.9.0.tgz
```
harbor解壓縮
```
tar zxvf harbor1.9.0.tgz
```
編輯`harbor.yml`，將hostname改成本機端IP

接著執行harbor腳本：
```
sh install.sh
```
編譯完成後，可在網站上打上本機端IP，便會出現以下畫面：
![](https://i.imgur.com/dtP2pvg.png)
## VM2設定
接著到第二台虛擬機上使用：
```
docker login [Harbor IP]
```
若出現報錯，如下圖：
![](https://i.imgur.com/RckRgog.png)
請編輯`/etc/docker/daemon.json`
```
{
"insecure-registries":["Harbor ip"]
}
```
更新完後，重啟daemon-reload以及docker
```
systemctl daemon-reload
systemctl restart docker
```
測試私人倉儲是否成功，可以docker push一個鏡像檔，例如：
```
docker push cf337188/httpd:latest
```
## 私人倉儲(harbor)測試 
為了測試有無成功，可以回到VM1，並且使用：
```
docker login [harbor ip]
```
成功登入後，便可進行`docker pull`的動作了

## Reference
[上課影片](https://drive.google.com/drive/folders/1oM_ejAeSIhGbDGAVBDnVRv4DuoXaDwYw?usp=sharing)