日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来

發(fā)布時(shí)間:2024/2/28 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡單幾步就教會(huì)你如何使用dockerfile制作LNMP鏡像

  • 前言
  • 一、dockerfile撰寫php鏡像
  • 二、dockerfile撰寫mysql鏡像
  • 三、dockerfile撰寫nginx鏡像
  • 四、查看鏡像構(gòu)建情況
  • 五、分別開啟nginx、mysql和php鏡像
  • 六、進(jìn)行測試

前言

注意:搞docker的環(huán)境時(shí),切記把firewalld和selinux關(guān)了,否則docker很多服務(wù)會(huì)起不來

一、dockerfile撰寫php鏡像

FROM centos:7.4.1708 ENV TIME_ZOME Asia/Shanghai ARG WJ="php-7.1.10" ADD $WJ.tar.bz2 /opt RUN yum -y install gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel bison \&& mkdir -p /usr/local/php/etc \&& cd /opt/$WJ \&& ./configure --prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--with-gd --with-mysqli \--with-openssl --with-zlib --with-curl \--with-jpeg-dir --with-png-dir --with-iconv \--enable-fpm --enable-zip --enable-mbstring \&& make -j 2 \&& make install \&& cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf \&& cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf \&& sed -i '/;daemonize/a\daemonize = no' /usr/local/php/etc/php-fpm.conf \&& sed -i 's/127.0.0.1/0.0.0.0/g' /usr/local/php/etc/php-fpm.d/www.conf \&& echo "${TIME_ZOME}" > /etc/timezone \&& ln -sf /usr/share/zoneinfo/${TIME_ZOME} /etc/localtime \&& rm -rf /opt/local/php* \&& yum clean all \&& yum -y remove gcc gcc-c++ make \&& mkdir -p /usr/local/nginx/html \&& echo -e "<?php\nphpinfo();\n?>" > /usr/local/nginx/html/index.phpWORKDIR /usr/local/php/ EXPOSE 9000 CMD ["sbin/php-fpm","-c","etc/php-fpm.conf"]

文件結(jié)構(gòu):

創(chuàng)建php鏡像:

二、dockerfile撰寫mysql鏡像

FROM centos:7.4.1708 ADD mysql-5.6.26.tar.gz /opt RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo \&& useradd -s /sbin/nologin mysql \&& yum -y install gcc gcc-c++ make pcre-devel expat-devel perl ncurses-devel autoconf cmake \&& cd /opt/mysql-5.6.26/ \&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DSYSCONFIDIR=/etc -DMYSQL_DATADIR=/home/mysql/ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \&& make -j2 \&& make install \&& cp -f support-files/my-default.cnf /etc/my.cnf \&& cp support-files/mysql.server /etc/init.d/mysqld \&& chown -R mysql:mysql /usr/local/mysql/ \&& sed -i 's/^basedir/basedir=\/usr\/local\/mysql/g' /etc/init.d/mysqld \&& sed -i 's/^datadir/datadir=\/home\/mysql/g' /etc/init.d/mysqld \&& /usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql ENV PATH /usr/local/mysql/bin:$PATH EXPOSE 3306 ENTRYPOINT ["/usr/local/mysql/bin/mysqld_safe"]

文件結(jié)構(gòu):

創(chuàng)建mysql鏡像:

三、dockerfile撰寫nginx鏡像

FROM centos:7.4.1708 ADD nginx-1.12.0.tar.gz /opt RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make \&& useradd -M -s /sbin/nologin nginx \&& cd /opt/nginx-1.12.0/ \&& ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-file-aio --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module \&& make \&& make install \&& ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx \&& echo -e "events {\nuse epoll;\nworker_connections 1024;\n}\nhttp {\nserver_tokens on;\nserver {\nlisten 80;\nserver_name localhost;\nlocation / {\nroot html;\nindex index.html index.htmi index.php;\n}\nerror_page 500 502 503 504 /50x.html;\nlocation = /50x.html {\nroot html;\n}\nlocation ~ \.php$ {\nroot html;\nfastcgi_pass 172.168.184.30:9000;\nfastcgi_index index.php;\nfastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;\ninclude fastcgi_params;\n}\n}\n}" > /usr/local/nginx/conf/nginx.conf ENV PATH /usr/local/nginx/sbin:$PATH WORKDIR /usr/local/nginx/ EXPOSE 80 CMD ["nginx","-g","daemon off;"]

文件結(jié)構(gòu):

創(chuàng)建mysql鏡像:

四、查看鏡像構(gòu)建情況

五、分別開啟nginx、mysql和php鏡像

六、進(jìn)行測試

總結(jié)

以上是生活随笔為你收集整理的简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。