Docker入門總結

原文地址: 直接訪問html

圖片描述

Docker是一個虛擬環境容器,能夠將應用代碼、環境配置、系統環境等一併打包在一塊兒,生成一個鏡像,而後就能夠發佈到任意平臺上。node

與VM的區別

圖片描述

VM在物理機的操做系統上創建了一箇中間軟件層 hypervisor,利用物理機資源,虛擬出多個硬件資源,這些新的虛擬硬件環境、安裝的操做系統、相應軟件便構成了一臺虛擬機git

而 Docker 對硬件資源,在不一樣docker container上作了隔離,使得每一個docker container擁有不一樣的環境,同時能夠共享硬件資源github

平常使用的基本概念

圖片描述

核心功能簡答介紹:docker

  • Docker是C/S模式
  • images:docker鏡像,是Docker run的原材料
  • container: Docker運行的內容,是獨立存在的
  • data volumes: 經過數據掛載的方式,實現數據共享
  • network:用戶容器與外部、容器之間的通訊,經常使用的方法有端口映射、link等

使用流程

基本操做

  • docker version: 查看基本版本信息,包括client、server

關於鏡像的基本操做

  • docker search: 默認在 https://hub.docker.com 中查詢鏡像,固然能夠修改registry
  • docker pull: 鏡像拉取 docker pull imageName:version
  • docker push: 鏡像提交
  • docker images: 查看本地鏡像
  • docker rmi: 刪除本地鏡像
  • docker build:利用 Dockerfile 製做鏡像,例如 docker build -t newImageName -f dockerFile [contextPath]
  • docker commit: 基於運行的 container 製做鏡像

關於容器的基本操做

  • docker runnpm

    • 鏡像的運行
    • d: 在後臺運行
    • v: 用戶數據掛載
    • p: 端口映射,實現外部與容器之間的通訊
    • rm: 容器推出時,直接刪除容器
    • i: 交互式的方式
    • t: 在容器中啓動一個終端
  • docker psbash

    • 查詢當前存在的容器
    • a: 列出全部容器
    • q: 僅出 container id
  • dock exec: 在容器中執行命名,例如能夠使用 docker exec -it containerId /bin/bash 進入到容器內部
  • docker stop: 中止容器的運行
  • docker restart: 從新啓動容器的運行
  • docker rm: 容器刪除

DockerFile

# 指定基礎鏡像
FROM NODE:10.12

## 從本地 copy 文件到鏡像中
COPY ./ /data/my-node/

## 切換 container 的工做目錄
WORKDIR /data/my/node

## 執行命令
RUN npm install

## 容器的啓動命名
ENTRYPOINT ["node", "./index.js"]
相關文章
相關標籤/搜索