docker實戰(三)

2021-02-15 IEEE

我們在docker實戰(二)中聊了一些docker架構的內容,希望為大家呈現一個docker技術的全景圖或鳥瞰圖,不過考慮到一次聊太多大家容易消化不良,或者地鐵公交甚至蹲坑時間不夠完成全篇閱讀影響學習效果,打算合理控制每一篇的篇幅,努力做到關注公眾號IEEE並認真閱讀文章的朋友能夠每天進步一點點。

我們接著聊Docker Daemon。它運行在 Docker Host 上,負責創建、運行、監控容器,構建、存儲鏡像。

運行過程的作用可能有以下幾種:

向 Docker Registry 獲取鏡像。

通過 GraphDriver 執行容器鏡像的本地化操作。

通過 NetworkDriver 執行容器網絡環境的配置。

通過 ExecDriver 執行容器內部運行的執行工作。

 Docker Daemon 和 Docker Client 的啟動都是通過可執行文件 Docker 來完成的,兩者的啟動流程非常相似。

Docker 可執行文件運行時,運行代碼通過不同的命令行 Flag 參數,區分兩者,並最終運行兩者各自相應的部分。

啟動 Docker Daemon 時,一般可以使用下面的命令來完成:

docker  --daemon = truedocker  –d

docker –d = true

再由 Docker 的 main() 函數來解析以上命令的相應 Flag 參數,並最終完成 Docker Daemon 的啟動。

下面上一個 Docker Daemon 的啟動流程圖:

 

默認配置下,Docker Daemon 只能響應來自本地 Host 的客戶端請求。如果要允許遠程客戶端請求,需要在配置文件中打開 TCP 監聽。

具體操作步驟如下:

1、編輯輯配置文件

/etc/systemd/system/multi-user.target.wants/docker.service,在環境變量 ExecStart 後面添加 -H tcp://0.0.0.0,允許來自任意 IP 的客戶端連接。

2、重啟 Docker Daemon:

systemctl daemon-reload

systemctl restart docker.service

3、通過以下命令即可實現與遠程伺服器通信:

 

docker -H 伺服器IP位址 info

稍微解釋以下,-H 是用來指定伺服器主機,info 子命令用於查看 Docker 伺服器的信息。

未完待續,歡迎關注微信公眾號IEEE一起品味技術細節,也可以加微信IEEE2000備註加群和大牛們切磋交流。

相關焦點

  • centos7下安裝docker
    [root@xinsz08 ~]# systemctl  status firewalld  查看下防火牆,確定是開啟的,不需要關閉防火牆,更不好清空防火牆,我們後期調試時候要用到  3. selinux是開啟的    [root@xinsz08 ~]# getenforce  以上三點一般是安裝完系統後的狀態
  • docker的/var/run/docker.sock參數
    歡迎訪問我的GitHub這裡分類和匯總了欣宸的全部原創(含配套源碼):https://github.com/zq2599/blog_demos關於/var/run/docker.sock參數在創建docker容器時,有時會用到/var/run/docker.sock這樣的數據卷參數,例如以下docker-compose.yml
  • Docker 監控實戰
    先借鑑「Monitor Docker Containers with Prometheus](http://5pi.de/2015/01/26/monitor-docker-container」一文中的介紹,來說說這套開源的 Docker 監控方案:Prometheus;而此篇文字的原文地址:Monitor Docker Containers with Prometheus。
  • Java架構進階Docker實戰,看完我成功拿到了字節跳動的offer
    Java架構進階Docker實戰,看完我成功拿到了字節跳動的offer前言:Docker是有史以來增長最快的開源項目之一,在其周圍的生態系統也是以類似的速度不斷發展。由於這些原因,本書的重點完全在於Docker 的工具集。
  • docker 門外初體驗——docker 安裝(一)
    二、安裝三、驗證四、總結前言重寫對docker的學習記錄,最主要的原因之一,花了大量的時間進行學習,形成一個從0至1的認識,但是工作中卻沒見有實際應用,導致所學的知識存活率很低,也為了豐富自身的技術體系一、docker是什麼?Docker 是一個開源的應用容器引擎。
  • 上手 Docker 容器數據管理
    在這一篇文章中,我們將帶你通過理論和實戰的方式掌握 Docker 的兩種常用的數據管理方式:數據卷(Volume)和綁定掛載(Bind Mount),從而能夠遊刃有餘地處理好數據,為你的應用提供強有力的支撐和保障。
  • 【實戰】基於Nginx、Node.js和Redis的Docker工作流
    如果你剛剛接觸Docker和容器,我強烈建議你先讀一讀我之前的文章(http://anandmanisankar.com/posts/container-docker-PaaS-microservices/)。作為之前文章的一個延續,在本文中我仍會講述一些Docker工作流實例的內容。你可以在GitHub上找到所有的代碼示例。
  • 沒關係,手把手教你實戰Docker安裝和使用
    [可選]卸載舊版本:sudo yum remove docker docker-common docker-selinux docker-engine5.設置yum源:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo7.
  • 30分鐘帶你了解Web工程師必知的Docker知識
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言筆者之前和朋友一直在討論web技術方向的話題,也一直想了解web運維方面的知識,所以特意請教了一下我的朋友老胡,他對web運維和後端技術有非常多的實戰經驗,所以在本文中他也提供了不少幫助
  • Docker集群管理之Docker Compose
    Docker Compose是由python語言實現的,它通過調用docker-py庫(可參考https://github.com/docker/docker-py)與docker engine通信實現構建docker鏡像,啟動停止docker容器等。
  • Docker系列教程02-操作Docker容器
    t分配一個tty偽終端,支持終端登錄2)啟動容器使用docker create命令新建的容器處理停止狀態,可使用docker start啟動它。[root@qll251 ~]# docker run -it ubuntu /bin/bashroot@8b18b6758bb6:/#docker run相當於執行了兩個步驟:將鏡像放入容器中(docker create),然後啟動容器(docker start)。
  • 【Docker】系列教程02-操作Docker容器
    ~]# docker run -it ubuntu /bin/bashroot@8b18b6758bb6:/#docker run相當於執行了兩個步驟:將鏡像放入容器中(docker create),然後啟動容器(docker start)。
  • 如何開始docker - docker架構及創建容器
    安裝docker很簡單,啟動服務以後要怎麼開始使用呢?docker架構傳統的虛擬機架構是 物理機 -> 宿主機作業系統 -> Hypervisor支持 -> 虛擬機作業系統 -> 應用程式docker架構是 物理機 -> 宿主機作業系統 -> docker引擎 ->
  • Docker系列教程01-使用Docker鏡像
    docker search 語法docker search 語法例如,搜索mysql相關的鏡像,命令如下:docker pull 語法docker pull 語法通常情況下, 描述一個鏡像需要包括「名稱+標籤「信息。
  • 雲計算核心技術Docker教程:Docker容器使用
    docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項。可以通過命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。
  • 雲計算核心技術Docker教程:docker Stack介紹
    docker stack和docker-compose使用方式相同,但是為什麼引入docker stack技術呢。docker stack的能力來源自docker引擎原生支持,你不需要安裝額外工具包去啟動docker 容器堆棧(docker stack 是docker swarm的一部分)。
  • Docker圖形化工具:Portainer
    DockerUI是Portainer的前身,這三個工具通過docker api來獲取管理的資源信息。平時我們常常對著shell對著這些命令行客戶端,審美會很疲勞,如果有漂亮的圖形化界面可以直觀查看docker資源信息,也是非常方便的。今天我們就搭建單機版的某些常用圖形頁面管理工具。這幾種圖形化管理工具以Portainer最為受歡迎。
  • docker常用命令詳解
    — docker [ps|inspect|top|attach|wait|export|port|rename|stat] 容器rootfs命令 — docker [commit|cp|diff] 鏡像倉庫 — docker [login|pull|push|search] 本地鏡像管理 —
  • Docker極簡入門
    簡單的安裝配置如下:[root@ChatDevOps ~]# yum -y install docker[root@ChatDevOps ~]# docker --versionDocker version 1.13.1, build 94f4240/1.13.1[root@ChatDevOps ~]# systemctl start docker[root@ChatDevOps
  • 雲計算核心技術Docker教程:Docker鏡像使用
    當運行容器時,使用的鏡像如果在本地中不存在,docker 就會自動從 docker 鏡像倉庫中下載,默認是從 Docker Hub 公共鏡像源下載。我們可以使用 docker images 來列出本地主機上的鏡像。