Docker使用知識與方法 閱讀筆記(二)

安裝Docker Desktop(Mac版)

  • 安裝結果
  • 啟動與停用Docker Engine

Doccker操作指令的結構

  • 上級指令與副指令
docker [上級指令+副指令] 對象
## ex docker container(上級指令) run (副指令) penguin
  • 選項與參數(Optional) 選項和參數擺放順序會影響執行
docker [上級指令+副指令] [-選項] [--參數] [映像檔] 
## ex docker container(上級指令) run(副指令) -d(選項) penguin --mode=1(參數)
  • 可以同時帶入多個選項 -dit
docker container run -dit penguin
  • 常用指令
docker version ## 查看版本
docker ps [-a] ## 等同 docker container ls -a(所有容器)

取得映像檔

docker pull [image] ## 在docker hub中已發佈的映像檔
docker image ls ## 在主機已存在的映像檔

容器-建立、啟動、停用、刪除

docker run -d --name webservice httpd:2.2 ## 依據Apache httpd映像檔[版本號2.2],建立名為webservice的容器,在背景執行(-d);未指定版本號時,預設是最新版本
docker ps ## 查看運行中的容器
docker stop [container name]
docker ps -a ## 查看運行中和停用的容器
docker rm [container name]

容器-通訊

  • 連線Apache服務
docker run -d -p 8080:80 --name webservice httpd 
## 外部訪問Docker Engine走8080port,對應到webservice的80 port(網路連接阜)

在本地走 http://localhost:8080 便可以訪問。

  • 連線Ngnix服務
docker run --name nginxWebSerivec -d -p 8081:80 nginx

複製容器與主機的檔案

  • 替換Apache的index.html
## step1 啟動網路服務
docker run -d -p 8081:80 --name webService001 httpd
## step2 複製檔案
docker cp /file/path [container name]:/usr/local/apache2/htdocs ## 會看到新的html內容
## ex docker cp /Users/xxx/Desktop/index.html webService001:/usr/local/apache2/htdocs/ 

卷宗(volumn)掛載

  • -v選項存在時,目的是要把指定在卷宗名稱/主機檔案資料夾路徑,取代容器內檔案資料夾路徑來替代,因此容器實際使用的資源就會是在本機。換言之,卷宗是不存在於容器之內,卷宗是在容器運行時掛載(mounted)來使用。
docker run -d -p 8084:80 --name webService002 -v [卷宗名稱/主機檔案資料夾路徑]:[容器內檔案資料夾路徑] httpd 
## ex docker run -d -p 8084:80 --name webService002 -v /Users/jasonlien/Desktop/:/usr/local/apache2/htdocs/ httpd 
  • 掛載結果