• 04 Docker/基础设施


    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

  • 相关阅读:
    Android studio 安装,JDK 出错解决方案
    Struts2 一、 视图转发跳转
    @Transactional 注解说明
    基于Schema的AOP 配置使用详解
    CSS滤镜让图片模糊(毛玻璃效果)实例页面
    Struts 2.3.4.1完整示例
    StudentSchema student实例数据库环境搭建
    network is unreachable 解决方案之一
    Oracle 转换函数
    Oracle检查与安装操作内容
  • 原文地址:https://www.cnblogs.com/likeli/p/8967625.html
Copyright © 2020-2023  润新知