文章Github地址,歡迎
start
:https://github.com/li-keli/DevOps-WiKihtml
Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。
Docker一般用於以下場景:linux
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