日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker入门

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Docker簡介:

docker是一個基于LXC的高級容器引擎。簡單地說,docker是一個輕量級的虛擬解決方案,或者說它是一個超輕量級的虛擬機(容器)。

Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。
Docker 的理念為“Build, Ship and Run Any App, Anywhere”

  • 基本概念

    • Docker Client:Docker提供給用戶的客戶端。
    • Docker Daemon:Docker服務的守護進程。
    • Docker Images:Docker的鏡像,一張 “只讀” 的系統CD。
    • Docker Container:Docker的容器,Docker Images運行實例。
    • Docker Registry : Docker Images的倉庫,Dock Hub https://www.dockerhub.com。
  • 架構

  • AUFS聯合文件系統

AUFS 是一種 Union File System(聯合文件系統),又叫 Another UnionFS,后來叫Alternative UnionFS,再后來叫成高大上的 Advance UnionFS。所謂 UnionFS,就是把不同物理位置的目錄合并mount到同一個目錄中。UnionFS的一個最主要的應用是,把一張CD/DVD和一個硬盤目錄給聯合 mount在一起,然后,你就可以對這個只讀的CD/DVD上的文件進行修改(當然,修改的文件存于硬盤上的目錄里)

  • LXC

LXC 就是 Linux Container。 LXC 也是一種輕量的虛擬技術,Linux 原生支持的容器??梢哉f docker 就是基于 LXC 發展起來的,提供 LXC 的高級封裝,發展標準的配置方法。

LXC可以在操作系統層次上為進程提供的虛擬的執行環境,一個虛擬的執行環境就是一個容器。可以為容器綁定特定的cpu和memory節點,分配特定比例的cpu時間、IO時間,限制可以使用的內存大小(包括內存和是swap空間),提供device訪問控制,提供獨立的namespace(網絡、pid、ipc、mnt、uts),主要使用了cgroup技術。

CGroup是Control Groups的縮寫,是Linux內核提供的一種可以限制、記錄、隔離進程組所使用的硬件資源的機制。

  • 與虛擬機對比

2. Docker安裝

brew cask install docker 或到官網下載 https://store.docker.com/editions/community/docker-ce-desktop-mac

3. Docker使用

  • 基本命令

    • 查詢docker版本: docker version
    • 查看docker環境信息:docker info
    • 列出所有鏡像:docker images
    • 列出運行狀態的容器實例:docker ps
    • 從遠程摘取docker鏡像:docker pull [鏡像名:版本號/tag]
    • 提交docker修改內容:docker commit [containerId] tag
    • 交互模式啟動容器:docker run -it -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
    • 后臺模式啟動容器:docker run -d -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
    • 查看容器日志:docker logs [containerId]
    • 連接到docker容器終端上:docker attach [containerId]
    • 查看容器或鏡像詳細信息:docker inspect [containerId/imageId]
    • 在容器上執行命令:docker exec [containerId] COMMAND [ARG...]

4. Dockerfile

Dockerfile是由一系列命令和參數構成的腳本,這些命令應用于基礎鏡像并最終創建一個新的鏡像。它們簡化了從頭到尾的流程并極大的簡化了部署工作。Dockerfile從FROM命令開始,緊接著跟隨者各種方法,命令和參數。其產出為一個新的可以用于創建容器的鏡像

5. 容器編排

DockerCompse

Compose是用于定義和運行復雜Docker應用的工具。你可以在一個文件中定義一個多容器的應用,然后使用一條命令來啟動你的應用,然后所有相關的操作都會被自動完成。

DockerSwarm

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干臺Docker主機抽象為一個整體,并且通過一個入口統一管理這些Docker主機上的各種Docker資源。Swarm和Kubernetes比較類似,但是更加輕,具有的功能也較kubernetes更少一些。

Kubernetes

Kubernetes(通常寫成“k8s”)是最開始由google設計開發最后貢獻給Cloud Native Computing Foundation的開源容器集群管理項目。它的設計目標是在主機集群之間提供一個能夠自動化部署、可拓展、應用容器可運營的平臺。Kubernetes通常結合docker容器工具工作,并且整合多個運行著docker容器的主機集群。

總結

以上是生活随笔為你收集整理的Docker入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。