用Dockerfile构建基于Ubuntu的LNMP环境的镜像
本文主要讲述的是如何用Dockerfile构建LNMP环境的镜像,前提默认你已安装好Docker。
一、新建Dockerfile文件
FROM Ubuntu:16.04 MAINTAINER linuxidc "[email protected]" RUN \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0xcbcb082a1bb943db && \ apt-get update && \ apt-get install -y mariadb-server mariadb-common && \ apt-get install -y php && \ apt-get install -y nginx && \ apt-get install -y vim # 配置nginx Copy ./default /etc/nginx/sites-available/default # 添加启动脚本 ADD ./start.sh /start.sh RUN chmod 755 /start.sh CMD /start.sh && tail -f # Expose ports. EXPOSE 3306 EXPOSE 80start.sh文件 ## start nginx service nginx start ## start mysql service mysql start ## start php7.0-fpm service php7.0-fpm start
default文件
# You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean ## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # Virtual Host configuration for example.com # # You can move that to a different file under sites-available/ and symlink that # to sites-enabled/ to enable it. # #server { # listen 80; # listen [::]:80; # # server_name example.com; # # root /var/www/example.com; # index index.html; # # location / { # try_files $uri $uri/ =404; # } #}
二、build Dockerfile文件
docker build -t linuxidcll/lnmp:1.0 .
三、运行镜像
docker run -id -p 80:80 -v /var/www/html:/var/www/html linuxidcll/lnmp
四、访问localhost
访问localhost,运行成功,则说明搭建成功。
更多Docker相关教程见以下内容:
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里
相关推荐
xysoul 2020-11-03
fearlessxjdx 2020-09-04
yss0 2020-08-19
Crystalqy 2020-08-15
TaoTaoFu 2020-08-03
vtnews 2020-07-29
小信 2020-07-28
糊一笑 2020-07-04
wzg0wzg 2020-07-04
pigsmall 2020-07-04
VFCSDN 2020-07-04
GluttonousZX 2020-06-06
ShangQuan0 2020-09-10
young依然 2020-08-17
白开水 2020-07-19
lihy0 2020-07-18
qdqht00 2020-06-28
tosim 2020-06-24
tianlong 2020-06-21