第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();
}
?>

 查看浏览器:

 

 

 

 

 

posted @ 2020-05-08 21:58  计6名宿王火火火  阅读(170)  评论(0编辑  收藏  举报