先到Z://nisra 下載檔案
接下來安裝Oracal VM,裝完之後執行ova檔案
登入虛擬機
帳號:nisra
密碼:nisra
Docker
by Halloworld
ABOUT TODAY
1. Docker 介紹&由來
2. 實作docker
3. Docker file
Docker由來
Docker由來
Docker由來
Docker由來
還沒有docker的年代
為甚麼要分來分去,
放在一起不好嗎 ?
- 擁有獨立系統,把系統的硬體資源隔離
- 有效管理 Host 的資源 ,並分配於各 VM
- 單一個VM壞掉不會影響到其他服務
有了docker之後
Docker優點
- VM 的映像檔通常落在數 GB 至數十 GB 都有
- 容器的移轉性強
- docker啟動速度比 VM 快hen多
- Docker 容器引擎,容器的開發、管理與運行非常簡易
Docker 介紹
- Google 公司推出的 Go 語言
- 實作輕量級的作業系統虛擬化解決方案
- 讓使用者不需要去關心容器的管理
Docker images 映像檔
- 只能做讀取的模板,拿來建立docker container,有點類似光碟的概念
- 裡面可以放完整系統,或者是各種應用
- Docker images可以自行建立,也能使用網路平台上的
- 從另外一台電腦上的 Docker image export 出來,然後在 import 到自已的電腦
Docker container 容器
- 將docker image放入container裡面運行
- 每個container都是獨立運行,可同時開啟許多個container,互不干擾
image大平台(Repository)
Docker-hub
Docker-hub
實作docker
- Docker安裝
- Docker pull / Docker run
- Docker port
- Docker 製作images
從Ubuntu安裝套件管理程式(APT)
下載docker
- $ sudo apt update
- $ sudo apt install docker.io
- $ service docker status
Docker安裝
Docker run (From docker-hub)
萬事起頭為 helloworld
$ docker run hello-world
Docker run
-
$docker run (--name xxx) <imageName>
- 先從本機看有沒有image,沒有的話會從docker-hub裡面找
-
執行完畢,會運行一個container
-
(--name xxx) 幫container取名字
Lab - 0x01
用cat 查看lab01
試著pull & run it
Docker Images 基礎指令教學
Docker container 基礎指令教學
Lab - 0x02
用cat 查看lab02
用hello-world Image 試著開3個container
然後關閉掉一個
$docker inspect <name|container-id>
顯示底層的container或image信息
$docker logs <name|container-id>
顯示container的日誌
Docker container port轉發
docker run –d -it --name (xxx) -p (host os port):(docker port) <image name>
Lab - 0x03
docker volume
主機能夠與container共享檔案的指令
$docker run -it -v <host dir>:<container dir> ubuntu /bin/bash
Docker 製作images
Docker file
Docker file 一點點指令
寫好dockerfile,
使用build即可建立image
Lab - 0x04
把container變回Images
Lab - 0x05
Lab - 0x05
docker images | grep none | awk '{print $1}' | xargs docker rmi
Lab - 0x06
Push你的images到docker hub上
$docker tag <Image Name>
<DockerHub帳號>/<Image Name>
ex: $docker tag NISRA nisra/myfirstimages
$docker login
$docker push nisra/myfirstimage
今天對docker 意猶未盡嗎?
你可以試試這個
https://www.katacoda.com/courses/docker
Thanks for listening
打code順利
永無BUG
[2019NISRA_Class] Docker
By halloworld
[2019NISRA_Class] Docker
NISRA 20190312
- 735