【架構師(第四十七篇)】 服務端開發之認識 Docker
highlight: a11y-dark theme: smartblue
持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第30天,點選檢視活動詳情
主要學習內容
使用 Docker
構建 node.js
專案。
Docker 介紹
基於 Docker
, 可以把開發環境,測試環境,一鍵部署到任何一臺機器上,只要該機器安裝了 Docker
。
可以說 有了 Docker
就有了一切 。
Docker
是一種虛擬機器技術,比傳統虛擬機器更加簡單,輕量。
- 啟動快
- 資源佔用少
- 體積小
常用命令
image 映象
- 下載映象:
docker pull <image-name>:<tag>
- 檢視所有映象
docker images
- 刪除映象
docker rmi <image-id>
- 上傳映象
docker push <username>/<repository>:<tag
>,要先註冊hub.docker.com
如果 docker images
出現 REPOSITORY
是 <none>
的情況,可以先執行 docker image prune
刪除。
所有的 id
不需要完全輸入,只需要輸入前幾位能夠區分開就可以。
container 容器
-
啟動容器
docker run -p xxxx:xxx -v=hostPath:containerPath -d --name <container-name><image-name>
- -p 埠對映
- -v 資料卷,檔案對映
- -d 後臺執行
- --name 定義容器名稱
-
檢視所有容器
docker ps
,加-a
顯示隱藏的容器 - 停止容器
docker stop <container-id>
- 刪除容器
docker rm <container-id>
,加-f
是強制刪除 - 檢視容器資訊,如
IP
地址docker inspect <container-id>
- 檢視容器日誌
docker logs <container-id>
- 進入容器控制檯
docker exec -it <container-id> /bin/sh
啟動一個 Docker 容器
下載 nginx 映象
執行 docker pull nginx
,可以看到沒有輸入版本,預設下載 latest
的。
檢視映象
執行 docker images
,檢視所有映象。
啟動容器
執行 docker run -p 81:80 -d --name myNginx nginx
,會返回一個 id
。
執行 docker ps
檢視容器列表。
訪問 nginx
訪問 http://localhost:81/
,可以看到 nginx
的預設頁,說明容器已經啟動成功了。
檢視容器資訊
執行 docker inspect 9
,可以看到容器資訊,非常的多。
檢視容器日誌
執行 docker logs 9
,可以看到容器日誌,方便排查問題。
進入容器控制檯
執行 docker exec -it 9 /bin/sh
,可以進入到容器的控制檯。
執行 exit
就可以退出控制檯。
停止容器
執行 docker stop 9
,就可以停止容器。
刪除容器
執行 docker ps -a
可以看到剛才被停止的容器依然存在。
執行 docker rm 9
可以刪除容器,這次再檢視就不在列表裡了。
檔案對映
在啟動容器的時候加上引數 -v xxxx:xxx
,冒號前面是宿主機(本地)的地址,冒號後面是虛擬機器的地址
js
docker run -p 81:80 -d -v D:/test:/usr/share/nginx/html --name myNginx nginx
這個時候再訪問 nginx
,就對映到我們本地的檔案上面來了。
- 七月份我就是個前端二年級的小學生啦 | 2022年中總結
- 【架構師(第四十七篇)】 服務端開發之認識 Docker
- 【架構師(第四十六篇)】 服務端開發之安裝 Docker
- 【架構師(第四十四篇)】 服務端開發之 pm2 和 nginx 介紹
- 【架構師(第四十三篇)】 服務端開發之單元測試和介面測試
- 【架構師(第四十二篇)】 服務端開發之常用的登入鑑權方式
- 【架構師(第四十一篇)】 服務端開發之安裝並連線 Redis資料庫
- UI高度自適應的修改方案
- 【windows10】前端工程師裝機指南
- 【架構師(第三十二篇)】 通用上傳元件開發及測試用例
- 【架構師(第二十九篇)】Vue-Test-Utils 觸發事件和非同步請求
- 【架構師(第二十七篇)】前端單元測試框架 Jest 基礎知識入門
- 【架構師(第二十二篇)】編輯器開發之專案整體搭建
- 【架構師(第十九篇)】腳手架之元件庫模板開發
- 【架構師(第十八篇)】腳手架之專案模板的安裝
- 【實戰技巧】前端播放本地影片並實現截圖功能(中)
- 【架構師(第十六篇)】腳手架之建立專案模板的下載與更新
- 【架構師(第十三篇)】腳手架之建立專案準備階段開發
- 【架構師(第十二篇)】腳手架之命令列互動工具 inquirer.js 使用方法
- 【架構師(第七篇)】腳手架之準備階段編寫