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 開機啟動