第3次系统综合实践

Posted xxylac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第3次系统综合实践相关的知识,希望对你有一定的参考价值。

(1)完成Docker-compose的安装

首先用了官方文档中的方法,但是实在是太慢啦

技术图片

于是百度换了一种方法,安装成功

技术图片

(2)Dockerfile编写

选择lnmp来搭建:

先来看整体最终的结构:

技术图片

docker-compose.yml:

version: "3"
services:
    nginx:
        build: ./nginx
        ports:
            - "81:8808"     #暴露端口
        volumes:
            - ./web:/www/web   #磁盘映射,后者与default.conf中定义的一致             
            - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    phpfpm:
      build: ./phpfpm
      ports:
        - "9000:9000"
      volumes:
        - ./web:/www/web  
      links:
        - "mysql"              
    #mysql服务
    mysql:
        image: mysql_image 
        container_name: mysql_container
        build: ./mysql
        ports:
            - "3307:3307"
        volumes:
            - ./mysql/data:/var/lib/mysql 

mysql:

FROM mysql:5.7
MAINTAINER czh 1371214566@qq.com

ENV MYSQL_ALLOW_EMPTY_PASSWORD no
ENV MYSQL_ROOT_PASSWORD=123456
#不允许空密码登陆,设置初始密码

 php:

FROM php:7.0-fpm
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime     && echo "Asia/Shanghai" > /etc/timezone
RUN apt-get update && apt-get install -y         libfreetype6-dev         libjpeg62-turbo-dev         libmcrypt-dev         libpng-dev         libmemcached-dev         zlib1g-dev         libcurl4-openssl-dev         libxml2-dev         --no-install-recommends && rm -rf /var/lib/apt/lists/*     && docker-php-ext-install -j$(nproc)         iconv mcrypt gettext curl mysqli pdo pdo_mysql zip         mbstring bcmath opcache xml simplexml sockets hash soap     && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/     && docker-php-ext-install -j$(nproc) gd

CMD ["php-fpm", "-F"]

nginx:

FROM nginx
MAINTAINER czh 1371214566@qq.com
EXPOSE 8808
#映射端口

(3)使用Compose实现多容器运行机制

接下来构建镜像:

技术图片

 

在本地环境访问查看:

技术图片

成功

 

 

(4)服务测试:

index.php:

<?php
$servername = "mysql_container";
$username = "root";
$password = "123456";
 
try {
    $conn = new PDO("mysql:host=$servername;", $username, $password);
    echo "连接成功"; 
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
?>

 查看浏览器:

技术图片

 

 

 

 

 

以上是关于第3次系统综合实践的主要内容,如果未能解决你的问题,请参考以下文章

第3次系统综合实践

第3次系统综合实践

系统综合实践第五次实验

第5次系统综合实践

第7次系统综合实践 26组

第7次系统综合实践 26组