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

相关文章
相关标签/搜索