docker与jenkins的自动化CI/CD流水线实战(php-svn)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker与jenkins的自动化CI/CD流水线实战(php-svn)相关的知识,希望对你有一定的参考价值。

环境需求

技术分享图片

编写dockerfile

备注:内容太长,写在自己的电脑上了
流程:
1、yum安装基础服务,如gcc,make,openssl
2、nginx1.14.0安装
3、php-7.1.19安装
4、supervisord监听nginx,php服务
5、#docker防止中文乱码
6、安装crontabs 服务
echo "/1 * bash /data/shell/check_supervisord.sh >> /root/check_supervisord.log" >> /var/spool/cron/root
7、必须 要将crond给自启动,不然进入容器还是不执行
RUN systemctl enable crond

build

技术分享图片

docker build -t 192.168.1.232/library/nginx-php:v1.14_v7.1.19 -f Dockerfile-nginx-php .

docker_run

docker run --privileged -itd --name php-test4 --mount type=bind,src=/data/www,dst=/data/www --mount type=bind,src=/mnt,dst=/mnt -p 801:80 192.168.1.232/library/nginx-php:v1.14_v7.1.19

查看:docker ps -l
进入容器:ps -ef 看是否正常启动

错误:
[[email protected] php-7.1.19]# systemctl start supervisord
Failed to get D-Bus connection: Operation not permitted

解决:
docker run --privileged -itd --name php-test4 --mount type=bind,src=/data/www,dst=/data/www --mount type=bind,src=/mnt,dst=/mnt -p 801:80 192.168.1.232/library/nginx-php:v1.14_v7.1.19

错误:
为什么创建容器,不执行crontab -l的内容呢

解决:dockerfile 时需要将systemctl enable crond 开机启动

以上是关于docker与jenkins的自动化CI/CD流水线实战(php-svn)的主要内容,如果未能解决你的问题,请参考以下文章

docker与jenkins的自动化CI/CD流水线实战(svn)

docker与jenkins的自动化CI/CD流水线实战(php-svn)

CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战

今晚8点!JFrog DevOps 大讲堂如何使用 Jenkins 一步步搭建自动化 CI/CD 流水线?