Laravel Docker鏡像製作:ubuntu16.04+php7.0.8+nginx

最近在研究Docker,正好也想學習一下Laravel,但每次laravel的部署很麻煩,所以正在研究了一下,做一下Docker鏡像,感覺棒棒的~~~

Dockerfile

laravel一鍵安裝包http://laravelacademy.org/resources-download

FROM ubuntu   
MAINTAINER lizhihua11
ENV REFRESHED 2016-09-20
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN apt update && apt install -y language-pack-en-base software-properties-common tar lrzsz curl wget vim htop git && locale-gen en_US.UTF-8 && add-apt-repository ppa:ondrej/php -y
RUN apt update && apt install -y php7.0 php7.0-mysql php7.0-curl php7.0-xml php7.0-mcrypt php7.0-gd php7.0-mbstring php7.0-fpm 
RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
RUN echo  'mysql-server mysql-server/root_password password root' | debconf-set-selections
RUN echo  'mysql-server mysql-server/root_password_again password root' | debconf-set-selections
RUN apt install -y mysql-server nginx
RUN sed -i s/^\;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g /etc/php/7.0/fpm/php.ini  
ADD ./nginx/default /etc/nginx/sites-available/default
ADD ./laravel-v5.2.15.tgz /var/www/
RUN chown -R www-data:www-data /var/www
EXPOSE 22 80 443

nginx配置文件

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/laravel-v5.2.15/public;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name localhost;
    location / {
                try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}

使用說明

#生成鏡像
sudo docker build -t laravel5.2 .
#運行容器
sudo docker run -ti --rm -p 10080:80 --name laravel_ubuntu laravel5.2  /bin/bash
# /etc/init.d/php7.0-fpm start
# /etc/init.d/nginx start

結果

這裏寫圖片描述

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