04 Docker/基础设施 - DevOps之路
04 Docker/基础设施 - DevOps之路
文章Github地址,欢迎
start
:https://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
作者:Li keli
出处:https://www.cnblogs.com/likeli/p/8967625.html
本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?