記錄學習內容。看網路上大大們的文章和影片,做些紀錄。
以下內容大多來自網路上大大們的文章。截圖也來自文章和影片。
還不了解,內容可能有錯誤。
What is a Container?
https://www.docker.com/resources/what-container
Docker 長這樣, 把它當成一個軟體,應用程式。
Virtual Machine 長這樣 :
不知道Hypervisor是什麼 ,先不管。
教學來源:
系統程式:第九章 虛擬機 1 -- spCh9_vm_1
https://www.youtube.com/watch?v=p0BCr0--2eo&list=UUVTFQSZfXsRkpWyUc05YTxQ&index=788&ab_channel=%E9%99%B3%E9%8D%BE%E8%AA%A0
官網裡畫的虛擬機器是指b 。 windows電腦安裝的VirtualBox 是c。
接著看:
步驟 :
Learn to Deploy your Docker Container on EC2 in 15 Minutes
https://www.youtube.com/watch?v=awFLzy0XwXo&ab_channel=soumilshah1995
1創建EC2 Ubuntu
https://ithelp.ithome.com.tw/articles/10206425
2 安裝 Docker ,指令複製貼上:
https://github.com/soumilshah1995/Deploy-Docker-Container-on-AWS
3 開啟FileZilla
把自己的docker container 丟到 EC2 ?
這邊不會 ,而且也不知道python 的flask 。所以之後的步驟先不管。
所以先找找資料,了解Docker是什麼:
Docker 基礎教學與介紹 101
https://medium.com/unorthodox-paranoid/docker-tutorial-101-c3808b899ac6
Day2:認識 Docker 基本概念
https://ithelp.ithome.com.tw/articles/10190728
(以下內容來自以上大大的文章)
Docker 三元素 :
一個映像檔裡可以包含一個完整的 MySQL 服務、一個 Golang 的編譯環境、或是一個 Ubuntu 作業系統 、 或是一個tomcat 網頁伺服器。
Docker Container 是透過 Docker image 執行起來的 Process
Docker container 和 Docker container 之間的環境是隔離開離來的,不會發生 container1 開 8080 的 port,container2 開 8080 的 port 有衝到的問題。
可以把容器看做是一個執行的應用程式加上執行它的簡易版 Linux 環境(包括 root 使用者權限、程式空間、使用者空間和網路空間等)。
Docker 映像檔(Image)是唯讀(read-only)的,而容器在啟動的時候會建立一層可以被修改的可寫層作為最上層,讓容器的功能可以再擴充。
集中存放映像檔(Image)的場所
Docker Hub 類似 GitHub
Docker Hub是來存放 Docker image的倉庫。
接著在看:
Day4:用簡單的例子來說明如何使用 Docker 指令
https://ithelp.ithome.com.tw/articles/10190921
docker version查看版本:
照著接學,完成了!
在 Docker Container 裡面安裝 Apache 的 HTTP Service,並且寫一個 helloworld 的 html 檔
但是 Docker Container 裡的private ip 會在畫一個新的,而且不能用原本EC2的public ip (還不知道,或許可以設定 ?)
EC2 的 private ip :
172.31.48.211
但是docker container的不一樣 :
參考:
Curl 指令基本介紹與常見用法
https://blog.techbridge.cc/2019/02/01/linux-curl-command-tutorial/