docker與jenkins的自動化CI/CD流水線實戰(php-svn)

環境需求

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與jenkins的自動化CI/CD流水線實戰(php-svn)

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 看是否正常啓動

錯誤:
[root@b78ec7459ebb 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 開機啓動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章