---
# System prepended metadata

title: <center>交接文件-Fubon環境佈署</center>

---

# <center>交接文件-Fubon環境佈署</center>
參考連結
- [docker image 輸出與匯入(tar)](https://blog.hinablue.me/docker-bi-jiao-save-export-dui-yu-ying-xiang-dang-cao-zuo-chai-yi/)
- [docker container to image to dockerhub](https://www.youtube.com/watch?v=EIHY_CY5J0k)

## 0. 目標
把自己電腦做好的image移至公司vm中並快速啟動container
## 1. 環境要求
- 帶有docker自己的電腦
- 帶有docker的公司桌機
- 帶有docker的虛擬機/測試機

## 2. 環境佈署步驟
製作docker container --> 製作成image並push到docker hub --> 桌機docker pull
<br> --> 桌機輸出<image name>.tar(docker save) --> 傳送至虛擬機 --> 虛擬機docker import 
    
### 2.1 container製作成image並push到docker hub
    
- container 2 tar
```
$ docker <container name> <tar name>.tar 
```
- tar 2 image
```
$ cat <tar name>.tar | docker import - local/<tar name>
```

- 檢查image是否可以成功啟動容器
```
docker run -t -i --name=<container name> <image name> bin/bash
```
這裡已經把先前做完的contanier輸出成image並取名叫做 local/<tar name>
    
- 上傳至docker hub
```
docker login # 登入dockerhub

docker tag <image name>:<image tag> <new image name>
    
docker images # 檢查image
```
    
    
### 2.2 從公司桌機下載 image 並傳送至VM

(桌機需要有docker)
    
- 下載image
    
```
docker login  # 登入dockerhub
docker pull ouob/ouob # 下載image
```

- save image 並製作成tar file

```
docker save ouob/ouob > <tar name>.tar
```

- 傳送tar至vm
    
```
scp /path/to/<tarname>.tar fmgdm@172.16.240.157:./ # 移至VM
su - root # 進入root
cp /home/fmgdm/<tarname>.tar /root/docker_image_tar # 移動檔案至root
```
    
### 2.3 載入tar檔案
```
# cd 至 tar 所在的路徑並load image
docker load < <tarname>.tar
```
    
### 2.4 run container
```
docker run -t -i --name=<container name> <image name> bin/bash
```
執行完這行後，即可進入container中檢查環境是否佈署成功
```
cd torch_test # 進入資料夾
conda activate jimmy # 啟動虛擬環境
python main.py # 執行python 腳本
```
    
    
## 3. 測試成功範例環境
    
### 3.1 測試步驟

1. 在window10 自己的筆電下達docker pull 後docker save image並輸出成tar檔案。(模擬已安裝docker的公司window 桌機)
    
2. 將tar檔案上傳至google雲端硬碟(模擬從桌機window scp 至 linux主機)
    
3. 在mac作業系統上面手動至雲端硬碟下載(模擬vm 接收檔案)
    
4. 在mac上docker load tar file (模擬mac啟動tar file)
    
### 3.2 結果：成功
window 輸出的tar檔案，linux可以執行
    
![](https://i.imgur.com/Zb0tlA0.jpg)
