04 Docker/基础设施 - DevOps之路

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

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

Docker通常用于如下场景:

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker安装:

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文档:

在基础架构设计的场景里面,我主要用来做自动化测试和持续集成、发布,但生产场景下,一般不是单节点的Docker运行,而是使用集群运行。

现将Docker和Gitlab进行集成,正常的集成是在Runner注册的时候选择Docker作为运行器,不过这里先选择shell,通过shell的方式来了解一下,单个Docker镜像是如何生成的,然后又是如何生成一个容器的。

下面是一个简单的.gitlab-ci.yml脚本:

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镜像。

使用命令:

docker ps

可以看到控制台的输出中就有了名为test_api_server的容器正在运行,并且暴露了8001端口。

这里就是一个简单的关联,其实Docker CLI拥有很多很丰富的功能,这需要参考官方文档来自己实践

另外由于作者本身知识有限,都是摸索着来的,所以不一定所有的做法都对,或者某些实践会有更好的方案,望各位读者不吝指正,有任何疑问,请留 issues

04 Docker/基础设施 - DevOps之路的更多相关文章

  1. 05 Docker集群/基础设施 - DevOps之路

    05 Docker集群/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Docker的集群目前主流的 ...

  2. 03 持续集成和部署/基础设施 - DevOps之路

    02 持续集成和部署/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 服务的持续集成和部署这里有两套 ...

  3. 06 Nexus仓储/基础设施 - DevOps之路

    06 Nexus仓储/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Nexus仓储官网简介: Th ...

  4. 07 YAPI/基础设施 - DevOps之路

    07 YAPI/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 简介 YApi 是一个可本地部署的. ...

  5. 01 前言/基础设施 - DevOps之路

    01 前言/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 简介 基础架构采用DevOps设计思想, ...

  6. 02 基础设施/Gitlab - DevOps之路

    基础设施/Gitlab - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 源代码管理器选用Gitlab,新版(2 ...

  7. Docker和DevOps是找工作必备技能

    根据最近的IT Jobs Watch数据,涉及Docker技术的的工作角色上升了317名次,排在500个最受追捧的IT技能第二位.无独有偶,从Rackspace最近的研究表明,Docker和DevOp ...

  8. ubuntu16.04 Docker默认存储路径修改

    Ubuntu 16.04 Docker默认存储路径修改

  9. .Net core 使用Jenkins + Docker + Azure Devops 傻瓜式部署

    这几天一直在搞 Jenkins + Docker + Azure Devops 部署,因为这种方式部署真的非常的省心,而且速度快,方便快捷,等等无数优点,感谢我的单身领导的支持,当然也感谢 晓晨大神, ...

随机推荐

  1. Java:Hibernate报错记录:Error executing DDL via JDBC Statement

    想着写一篇hibernate的博文,于是准备从头开始,从官网下了最新的稳定版本来做讲述. 结果利用hibernate自动建表的时候发生下面这个问题. 我很纳闷,之前用低版本一点的没有发生这个问题啊. ...

  2. CentOS基本的命令与快捷建

    由于我的计算机在安装linux系统时,计算机出现了问题,并没有安装ubuntu而是安装的centos.虽然两者属于linux的不同版本,但是在具体的操作上大同小异.在学习linux的各种指令和快捷键的 ...

  3. MyBatis笔记----Mybatis3.4.2与spring4整合:增删查改

    结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij3 ...

  4. [20180918]文件格式与sql_id.txt

    [20180918]文件格式与sql_id.txt --//记录测试中遇到的一个问题.这是我在探究SQL*Net more data from client遇到的问题.--//就是实际oracle会把 ...

  5. MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据

    转自:http://www.maomao365.com/?p=4942 下文主要讲述:重复数据只获取一条的方法 row_number函数在数据库中的功能是为每一行 按照一定的规则生成一个编号,我们常常 ...

  6. monkey_recorder录制monkeyrunner脚本

    转载:monkey_recorder录制monkeyrunner脚本   1. 你必须有android sdk, sdk的tools文件家里有一个monkeyrunner.bat.2. 将如下内容拷贝 ...

  7. JS 代码中到底加不加分号

    背景 在写自动执行函数时 vm.$watch('datas', function() { console.log(vm.datas); }) (function () { console.log('t ...

  8. 十大经典排序算法的python实现

    十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序.包括:冒泡排序.选择排序.归并排序.快速 ...

  9. Shell编程基础知识(一)

    一.基本的运行Linux程序的3种方法: (1) 使文件具有可执行权限,直接运行文件.eg:  chmod a+x testfile.sh   ./testfile.sh (2) 直接调用命令解释器来 ...

  10. Kali 2.0 Web后门工具----WebaCoo、weevely、PHP Meterpreter

    注:以下内容仅供学习使用,其他行为均与作者无关!转载请注明出处,谢谢! 本文将介绍 Kali 2.0 版本下的三款Web后门工具:WebaCoo.weevely.PHP Meterpreter,这类工 ...