Skip to content

《使用了下docker》 #25

Description

@bingtaoli

docker目前已经是个非常成熟的技术了,最近才体验了下。

我们的项目涉及到流水线的CICD也就是自动化编译,这样可以保证质量左移。流水线linux环境就是docker构建的,你可以改docker镜像,流水线跑自动化的时候都会自动拉取最新的docker镜像。

比如我最近在项目中用了c++的正则,我使用的库提示g++4.8版本的正则实现有漏洞,所以要想这用这个库,就必须在linux升级g++。
最好的方法就是改docker镜像。

1、在一个linux宿主机登陆进去

docker login docker.saxxxxfor.com -u xxx -p xxx

2、查看所有镜像
docker images

3、进入容器
以2e2f4db5aeb3这个镜像,创建lbt_new容器
docker run -it --name lbt_new 2e2f4db5aeb3 /bin/bash

4、在宿主机提交改动,可以看到和git管理代码非常像,这种方式管理镜像版本挺方便。
tag是docker.xxxxxxxx.com/cicd_2557/corss-compiler-asan:v1
docker commit lbt_new docker.xxxxxxxx.com/cicd_2557/corss-compiler-asan:v1
docker push docker.xxxxxxx.com/cicd_2557/corss-compiler-asan:v1

流水线日志:

[2022-11-28 17:18:35] 在节点 k8s-node4 复用工作空间 /10/zb_gitlab/16700
[2022-11-28 17:18:36] 正在排队中
[2022-11-28 17:18:43] 分配工作节点
[2022-11-28 17:18:54] 工作节点分配成功
[2022-11-28 17:18:54] 拉取镜像 docker.sangfor.com/cicd_2557/corss-compiler-asan:v1
[2022-11-28 17:18:55] 拉取代码 http://code.sangfor.org/AC/NAC/EAIO3 分支 feature-scribee_5-lbt
[2022-11-28 17:19:06] 开始执行

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions