赞
踩
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 Docker利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心命名空间(namespaces),来创建独立的容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。 docker利用docker-proxy组件控制iptables or ipvs 来实现端口映射。
在容器部署多的情况下,一个一个的部署容器,会比较繁琐,所以诞生了docke-compose,docker-compose是单机编排的程序,只需要一条命令即可部署多个相关联的容器。
开始部署
准备所需文件夹
mkdir -p /data/docker/{mysql,nginx/conf.d,www}
创建docker-compose.yml文件
version: '3' networks: lamp: driver: bridge services: mysql1: image: mysql:5.7 ports: - "3306:3306" networks: - lamp volumes: - /data/docker/mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 411203036 php: networks: - lamp image: bitnami/php-fpm:7.4 #devilbox/php-fpm volumes: - /data/docker/www:/usr/share/nginx/html nginx: networks: - lamp image: nginx ports: - "200:80" volumes: - /data/docker/www:/usr/share/nginx/html - /data/docker/nginx/conf.d:/etc/nginx/conf.d
创建nginx配置文件
vi /data/docker/nginx/conf.d/default.conf
server { listen 80; server_name localhost; root /usr/share/nginx/html; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; index index.php; location ~ \.php { include fastcgi_params; #fastcgi_pass 172.16.0.10:9000; fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param RUN_ENV 'dev'; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
启动docker-compose文件
docker-compose up -d
描述
/data/docker/www 网站存放目录
/data/docker/mysql 数据库数据目录
php镜像可能会有点问题,一些组件没安装,如果搭建的网站缺少组件,请编写dockerfile 安装
效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。