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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

原创:Docker在云家政的应用 谢绝复制粘贴内容

發布時間:2025/7/14 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原创:Docker在云家政的应用 谢绝复制粘贴内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們公司目前大規模使用了Docker,目前除了數據庫應用,其他所有應用都在Docker容器內運行,下面我就Docker在公司的應用做一些分享。、

首先我介紹一下公司的背景,公司屬于中小型創業公司,服務器數量不多,但是為了解決一些問題,我們引入了現在比較火的Docker技術。

?

看一下我們在沒用Docker之前遇到的問題:

1、線上環境和測試環境不完全一致,導致測試好的功能上線后會出現一些BUG。

2、部署新項目步驟繁瑣,批量部署運行環境后,需要根據每個項目不同的情況,手動修改配置參數。

3、新項目環境部署耗費時間長。有些項目部署需要幾十分鐘甚至更長時間

4、操作系統版本的差異,導致批量部署遇到麻煩

5、不能跨平臺部署環境。

有了這些問題,我們就要解決這些問題

這里我再簡單對Docker做一下介紹

Docker是一個新的容器化開源項目,誕生于 2013 年初,最初是 dotCloud 公司內部的一個業余項目,項目后來加入了 Linux 基金會,遵從了 Apache 2.0 協議,基于 Google 公司推出的 Go 語言實現

Docker 提供了一個可以運行你的應用程序的容器,它可以將應用以及依賴包到一個可移植的容器中,然后發布到任何 Linux機器上

Docker 擴展了 Linux 容器(Linux Containers)通過一個高層次的 API 為進程單獨提供了一個輕量級的虛擬環境,有點類似虛擬機的概念

了解了Docker后,接下來看我們是怎么把Docker用起來的,這里容我再介紹一下公司的背景,公司屬于中小型創業公司,服務器數量不多,沒有用高大上的Kubernetes、Swarm等Docker集群管理工具

我們都知道為了方便Docker的部署,一般都需要一個Docker私有倉庫來存放鏡像,我們也有自己的私有倉庫,看一下我們公司的私有鏡像倉庫是什么樣子的,里面都存放了哪些鏡像。

我們的鏡像倉庫里面存放了應用服務鏡像,如Tomcat,Nginx等,API服務鏡像,NoSQL鏡像,如Redis服務,MongoDB服務,ES服務等

這些鏡像都是根據我們自己的實際需要打包好的環境鏡像,新項目需要什么服務,直接拉取私有倉庫的鏡像,快速的部署。

有了鏡像倉庫,看一下我們是怎么制作鏡像的

我們使用了Dockerfile制作鏡像,每個環境都有對應的Dockerfille文件,可以根據實際需要隨時調整鏡像

以我們其中一個應用服務環境鏡像為例(Nginx+php),看一下我們的鏡像制作過程:

1、從Docker官方鏡像倉庫拉取PHP5.6作為基礎鏡像

2、基于基礎鏡像安裝Nginx以及PHP需要的擴展

3、修改Nginx和PHP的配置

4、生成指定服務的專用鏡像

5、將生成好的鏡像提交至私有倉庫

看一下公司的Dockerfile文件及構建鏡像的命令:

Dockerfile文件內容:

?

FROM php:5.6.31-fpm

?

RUN apt-get update && apt-get install -y \

??? nginx \

??? libfreetype6-dev \

??? libjpeg62-turbo-dev \

??? libmcrypt-dev \

??? libpng12-dev \

??? libxml2-dev \

??? libssl-dev \

??? git \

??? vim \

?

??? && pecl install redis mongodb mongo \

??? && docker-php-ext-enable redis mongodb mongo \

??

COPY ./nginx_vhost_conf/* /etc/nginx/sites-enabled/

docker build –t? hub.yunjiazheng.com/front_web:v1.0 .? 構建鏡像命令

docker push hub.yunjiazheng.com/front_web:v1.0???????? ? 提交鏡像到私有倉庫。

接下來看一下我們如何利用鏡像快速部署環境的。

首先我們服務器在安裝完操作系統,初始化系統的時候就會把Docker客戶端安裝好。

服務器上只需要執行docker pull 拉取一個鏡像。然后執行docker run 啟動鏡像,就可以快速部署好一個需要的環境的。

?

# docker pull hub.yunjiazheng.com/front_web:v1.0

?

# docker run –d –p 80:80 hub.yunjiazheng.com/front_web:v1.0

docker部署的命令

我來解釋一下這2條命令:

docker pull hub.yunjiazheng.com/front_web:v1.0?

是從hub.yunjiazheng.com 這個私有鏡像倉庫拉取front_web鏡像,鏡像版本是v1.0

docker run –d –p 80:80 hub.yunjiazheng.com/front_web:v1.0?

這條命令-d是在后端運行容器,-p是映射容器的80端口。然后啟動容器

這樣就部署好了一個需要的環境。

上面看了Docker部署環境的流程后,有一個問題,同一個鏡像運行起來的容器如何區分測試環境和線上環境呢。

為了區分容器運行的環境,接下來要用到云家政的運維平臺了。

云家政運維平臺運維是自主開發的平臺,平臺集成了環境管理、配置管理、發布管理、任務管理等功能

在環境管理會先創建好需要的多套環境,例如beta、線上。

創建完環境后,會為每個環境添加不同的配置參數,然后發布的時候選擇主機和鏡像及要發布的環境就可以自動化部署一套環境。

例如指定服務器A部署A1項目的測試環境:

運維平臺自動登錄A服務器,拉取A1項目需要的環境鏡像,拉取A1項目代碼,再拉取平臺上為A1項目配置好的測試環境參數,然后啟動容器就可以自動部署一套可運行的環境。

看一下我們環境管理的界面:

?

下面是環境參數的管理界面:

?

?

對不同的環境 配置不同的參數。

運維平臺里面的配置管理,可以在線管理線上、測試環境等配置信息,配置管理可以添加、刪除、修改代碼連接的數據庫信息、redis信息等配置信息.

運維平臺提供測試環境、線上環境的配置信息API接口,服務器容器啟動的時候會根據服務器類型去獲取不同的配置信息API來獲取不同的參數,并將服務器部署成不同的應用環境。

?

實現邏輯大致是上面的圖形展示的這樣。

接下來看一下我們通過運維平臺部署好的應用的界面:

主機就是發布好的主機,版本是容器運行鏡像的版本,狀態是容器的運行狀態,在這里可以對容器進行遠程管理。

目前云家政所有服務除了數據庫是直接運行在操作系統上,其他所有應用服務都實現了容器化,每個項目服務都有對應的鏡像,可以在最快幾秒內實現服務的快速部署。

運維平臺通過調用服務器上Docker? API接口實現對容器的啟動、關閉、執行命令、更新鏡像等自動化管理。

現在大家來看一下我們引入Docker后都得到了哪些好處:

1、保證了運行環境的一致性,線上環境和測試環境使用同一個鏡像,測試環境測試通過后,上線后不會出現因為環境差異而導致Bug。

2、部署新項目方便快捷,不用考慮操作系統的差異而導致自動部署失敗。

3、新項目部署速度快,可在秒級部署好一個項目環境

4、服務鏡像制作完成后,可以多次快速部署,方便快速橫向擴展服務

5、支持跨平臺部署。

目前我們公司運維平臺因為一些功能還不完善,等完善后,后續會將運維平臺開源。

以上是公司對Docker使用的一點分享,后續如果有機會可以分享一下我們的運維平臺。

?

感謝大家的收看。

Q1 貴公司使用編排工具了嗎?

?

公司目前還沒有用到docker的編排工具,公司的運維平臺通過調用docker的接口的方式實現對docker的自動化管理。

?

Q2:貴公司如何保證容器還在運行中,容器內服務已經掛掉,還能正常對外提供服務。

?

目前是利用python開發了一些腳本實現對容器內部的資源的監控,后期運維平臺會集成監控報警功能,對容器內部的資源和服務進行監控。

?

Q3 貴公司使用的是什么網絡?如何跨主機調用的,實例銷毀后ip會變化嗎。

?

目前還是使用docker默認的網絡,容器映射端口實現跨主機調用,容器內部ip發生變化對調用沒有影響。

?

Q4 日志也在容器里面嗎? 如果研發要看日志怎么辦呢.

?

日志有些項目我們是將代碼映射在宿主機上,開發要看就在宿主機看。不過后面我們運維平臺也會支持查看指定文件或者日志。Q4 日志也在容器里面嗎? 如果研發要看日志怎么辦呢.

日志有些項目我們是將代碼映射在宿主機上,開發要看就在宿主機看。不過后面我們運維平臺也會支持查看指定文件或者日志。Q6 nginx和php在一個容器中,一次構建發布需要多久?

這個很快,拉鏡像和代碼是內網拉取,第一次可能稍慢2-3分鐘,后面如果鏡像沒更新,只是更新代碼,也就幾秒完成。

?

?

Q5 請問docker持久化存儲是如何實現的?

除了一些重要的應用的數據定期自動備份數據實現數據持久化,像數據庫這種重要應用沒有在容器內運行。

Q6 nginx和php在一個容器中,一次構建發布需要多久?

這個很快,拉鏡像和代碼是內網拉取,第一次可能稍慢2-3分鐘,后面如果鏡像沒更新,只是更新代碼,也就幾秒完成。

轉載于:https://www.cnblogs.com/dsab/p/7425570.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的原创:Docker在云家政的应用 谢绝复制粘贴内容的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 九九精品视频免费 | japanese av在线 | 欧美高清视频在线观看 | 亚洲欧美日韩一区二区 | 88av网站| 亚洲操一操 | 国产剧情av在线 | 国产成人av一区二区 | 国内精品视频在线观看 | 亚洲jizzjizz| 亚洲激情午夜 | 欧美高清一区二区三区四区 | 成人亚洲 | 亚洲丝袜在线视频 | 亚洲精品一区二区三区在线 | 露出调教羞耻91九色 | 色男人影院 | 亚洲精选久久 | 在线日韩成人 | 日韩黄网站 | 黑人操欧美人 | 狠狠干青青草 | 久久精品无码毛片 | 国产一级全黄 | 久久久久五月天 | 免费看黄网站在线 | 久久在线观看 | 久久久久久一区二区三区 | 免费的黄色大片 | 国产成人av一区二区三区不卡 | 秋霞av鲁丝片一区二区 | 久久国产色av | 毛片av免费 | 韩国三级做爰高潮 | 亚洲精品一区二区三区影院忠贞 | 麻豆三级在线观看 | 日本裸体视频 | 韩国电影一区二区三区 | 91久久国产视频 | 日韩少妇一区二区三区 | 午夜久久影院 | 尤物最新网址 | 亚洲色图欧美 | 欧美一区二区在线视频观看 | 韩国伦理中文字幕 | 九月丁香婷婷 | 91福利在线观看视频 | 亚洲激情av | 日韩一级在线 | a毛片网站| 国产免费久久久 | 美女脱裤子让男人捅 | 天堂资源在线播放 | www.激情五月 | 国产黄在线 | 吸咬奶头狂揉60分钟视频 | 青青草原综合久久大伊人精品 | 国产美女福利 | 亚洲一片| 一级精品视频 | 欧美黄色性生活 | 欧美一区网站 | 一级免费片| 欧美成人黄色网 | 国产高清在线不卡 | 午夜欧美成人 | a在线观看免费 | 日本高清不卡在线观看 | 国产视频不卡 | 狠狠干超碰 | 怡红院成人网 | 成年视频在线观看 | 九九热在线观看视频 | 欧美你懂的 | 免费看一级片 | 草草影院在线 | 中文字幕视频在线播放 | 一级做a爱片久久 | 欧美亚洲激情 | 色偷偷影院 | 亚洲成人基地 | 一级香蕉视频在线观看 | 成人毛片在线观看 | 日韩欧美极品 | 深夜视频一区二区三区 | 超碰人人人人人 | 亚洲最新av网站 | 9999精品| 实拍女处破www免费看 | 国产精品国产三级国产传播 | 久久亚洲中文字幕无码 | 狠色综合7777夜色撩人 | 精品aaa | 一级久久久久 | 操碰97| eeuss国产一区二区三区 | 国产精品视频一区在线观看 | 亚洲精品乱码久久久久久不卡 | 久久久久久久黄色 |