ubuntu 18.04 (長期支持版本)php 7.4.15 (7.4.x中維護的最新版本)mysql 5.7.33 (ubuntu18.04下默認版本)nginx 1.18.0 (ubuntu18.04下默認版本)FROM ubuntu:18.04
MAINTAINER freephp "fightforphp@gmail.com"
RUN apt-get updateRUN apt-get install -y vim curl gcc# 添加php7.4的源RUN apt-get -y install software-properties-commonRUN add-apt-repository ppa:ondrej/phpRUN apt-get updateRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezoneRUN apt-get install -y php7.4RUN apt-get install -y php7.4-curl php7.4-fpm php7.4-gd php7.4-mysqlnd php7.4-mbstring php7.4-ldap php7.4-soap php7.4-mongod php7.4-soap php7.4-sqlite3 \php7.4-xml \php7.4-zip \php7.4-intl \php7.4-imagick \php7.4-xdebug
# 安裝composerRUN curl -sS https://getcomposer.org/installer | phpRUN mv composer.phar /usr/local/bin/composer# 設置composer源為阿里雲RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 安裝mysqlRUN apt-get install -y mysql-server mysql-client# 添加nginx配置RUN add-apt-repository ppa:ondrej/nginxRUN apt-get updateRUN apt-get install -y nginx
# 配置nginxCOPY ./default /etc/nginx/sites-available/default
# 添加啟動腳本ADD ./start.sh /start.shRUN chmod 755 /start.sh
CMD /start.sh && tail -f
# 暴露埠EXPOSE 3306EXPOSE 80docker build -t freephp/mylnmp:v2 .這樣就得到了想要的lnmp鏡像了,後面可以根據自己的需求去運行一個容器即可,例如:docker run -id -p 80:80 -v /Users/tony/www/myphp:/var/www/html --name mylnmp2 freephp/mylnmp:v2在Dockerfile中還有關於nginx的配置和啟動腳本,其完整內容可以參考我開源在gitee上的項目lnmpdocker[1]。後續還可以考慮內置安裝swoole或者laravel,當然會打不同的tag,不會作為基線版本的鏡像來發布。
References[1] lnmpdocker: https://gitee.com/freemannow/lnmpdocker