04 Docker/基礎設施 - DevOps之路

04 Docker/基礎設施 - DevOps之路

文章Github地址,歡迎starthttps://github.com/li-keli/DevOps-WiKihtml

Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。

Docker一般用於以下場景:linux

  • web應用的自動化打包和發佈;
  • 自動化測試和持續集成、發佈;
  • 在服務型環境中部署和調整數據庫或其餘的後臺應用;
  • 從頭編譯或者擴展示有的OpenShift或Cloud Foundry平臺來搭建本身的PaaS環境。

Docker安裝:git

wget -O /etc/yum.repos.d/docker-ce.repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && \
yum makecache && \
yum install docker-ce -y

Docker文檔:github

在基礎架構設計的場景裏面,我主要用來作自動化測試和持續集成、發佈,但生產場景下,通常不是單節點的Docker運行,而是使用集羣運行。web

現將Docker和Gitlab進行集成,正常的集成是在Runner註冊的時候選擇Docker做爲運行器,不過這裏先選擇shell,經過shell的方式來了解一下,單個Docker鏡像是如何生成的,而後又是如何生成一個容器的。docker

下面是一個簡單的.gitlab-ci.yml腳本:shell

deploy_api:
 stage: deploy
 tags:
   - Build
 script:
   - dotnet publish Test.Api.csproj -c Release -o ../../publish.api/
   - docker build -t test/api:v1 . 
   - docker run -d -P 8001:80 test/api:v1 --name test_api_server
 only:
   - master

這個腳本將發佈好的dotnet core 項目打包生成一個docker鏡像,而後後臺運行這個docker鏡像。數據庫

使用命令:centos

docker ps

能夠看到控制檯的輸出中就有了名爲test_api_server的容器正在運行,而且暴露了8001端口。api

這裏就是一個簡單的關聯,其實Docker CLI擁有不少很豐富的功能,這須要參考官方文檔來本身實踐

另外因爲做者自己知識有限,都是摸索着來的,因此不必定全部的作法都對,或者某些實踐會有更好的方案,望各位讀者不吝指正,有任何疑問,請留 issues

相關文章
相關標籤/搜索