iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0

今天我會粗淺的介紹一下Docker是甚麼,相信看到這篇的你,一定多多少少聽過這個名子,畢竟他真的太有名了,會有名也是因為它能做到的事情真的太強了!那我們來看看它究竟是甚麼核能做到甚麼吧!

簡介

Docker 是一個開源專案,主要是做到作業系統虛擬化,讓我們不會受到不同作業系統而影響到操作(如:指令),以此設計也可以提高運行的效率,可以根據附圖比較差別。
https://ithelp.ithome.com.tw/upload/images/20230825/20139136BdQ43K3tH2.png

主要我們打包Application時,也就是將圖中框起來的內容一起打包,換句話說就是在打包時也可以把你的應用程式連同環境一起打包。

特色

其最常被拿來與虛擬機進行比較,那docker的優勢在哪呢

  • 更有效率的虛擬化
  • 更輕鬆的遷移和擴展
  • 更簡單的管理
  • 更簡單的管理

三大核心

映像檔(Image)

有如Application的一個藍圖,可以透過Image建構容器(Containner)。

容器(Containner)

由映象檔(Image)執行起來的 Process,彼此環境獨立。

倉庫(Repository)

常見如:Docker Hub,用來存放Docker Image。功能類似github。

下載

這邊附上官方下載連結
下載Docker Desktop基本就能使用了

//可以用來確認是否有下載成功
docker version 

基本指令與使用

Docker pull

用來拉取Docker Hub上的Image
https://ithelp.ithome.com.tw/upload/images/20230825/20139136CaCawbdFYs.png

docker pull name
ex:docker pull hzkjhub/java17

Docker run

啟動image/container

docker run -p 3000:8000 image_name

3000為host的port、8000代表container開出來的port 8000
所以以本地來說,可以用本地 3000 port 連到container內部的 8000 port

Docker Image/Container

用來對Image/Container 進行操作

  • docker image/container ls
    • 看所有的image/container
  • docker image/container stop pid
    • 停止container,要先停止run中的Container才能rm刪除
  • docker image/container rm pid
    • 移除image/container,此image/container就此消失

Docker ps -a

查看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/


上一篇
Spring Boot - 資料庫串接
下一篇
Docker 打包專案與推上DockerHub
系列文
帶著MBP在異世界探險的科技宅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言