今天我會粗淺的介紹一下Docker是甚麼,相信看到這篇的你,一定多多少少聽過這個名子,畢竟他真的太有名了,會有名也是因為它能做到的事情真的太強了!那我們來看看它究竟是甚麼核能做到甚麼吧!
Docker 是一個開源專案,主要是做到作業系統虛擬化,讓我們不會受到不同作業系統而影響到操作(如:指令),以此設計也可以提高運行的效率,可以根據附圖比較差別。
主要我們打包Application時,也就是將圖中框起來的內容一起打包,換句話說就是在打包時也可以把你的應用程式連同環境一起打包。
其最常被拿來與虛擬機進行比較,那docker的優勢在哪呢
有如Application的一個藍圖,可以透過Image建構容器(Containner)。
由映象檔(Image)執行起來的 Process,彼此環境獨立。
常見如:Docker Hub,用來存放Docker Image。功能類似github。
這邊附上官方下載連結
下載Docker Desktop基本就能使用了
//可以用來確認是否有下載成功
docker version
用來拉取Docker Hub上的Image
docker pull name
ex:docker pull hzkjhub/java17
啟動image/container
docker run -p 3000:8000 image_name
3000為host的port、8000代表container開出來的port 8000
所以以本地來說,可以用本地 3000 port 連到container內部的 8000 port
用來對Image/Container 進行操作
查看Container 狀態
總之Docker是一個能夠幫忙打包Application,並在運行時透過作業系統虛擬化的特色來統一作業系統與提供運行的高效率,下一篇我將為結合之前的demo,使用docker進行打包與運行,讓各位知道docker是如何使用的。
https://hub.docker.com/
https://philipzheng.gitbook.io/docker_practice/
https://www.oracle.com/tw/cloud/cloud-native/container-registry/what-is-docker/