当前位置:   article > 正文

docker-compose 部署lnmp_docker composer lnmp

docker composer lnmp

docker-compose 部署lnmp

1、简介
docker 和 docker-compose部署在宿主机上
mysql部署宿主机上
php和nginx跑docker容器
2、文件目录
在这里插入图片描述
3、docker 和 docker-compose部署
docker安装

#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#安装esp源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装docker-ce
yum install -y docker-ce
#docker-compose安装,下载地址:http://get.daocloud.io/#install-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#添加可执行权限
chmod +x /usr/local/bin/docker-compose
#创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#重启docker
systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4、安装mysql5.7
5、部署nginx容器
5.1、nginx目录详情
在这里插入图片描述
5.2、下载nginx包
http://nginx.org/en/download.html
5.3、编写nginx的dockerfile

vim dockerfile
FROM centos:7
MAINTAINER cyz
#安装依赖包
RUN yum install -y gcc gcc-c++ make \
    openssl-devel pcre-devel gd-devel \
    iproute net-tools telnet wget curl  --nogpgcheck&& \
    yum clean all && \
    rm -rf /var/cache/yum/*
#下载nginx包,并编译安装
RUN wget http://nginx.org/download/nginx-1.19.10.tar.gz && \
    tar zxf nginx-1.19.10.tar.gz && \
    cd nginx-1.19.10 &&\
    ./configure --prefix=/usr/local/nginx \
    --with-http_ssl_module \
    --with-http_stub_status_module && \
    make -j 4 && make install && \
    rm -rf /usr/local/nginx/html/* && \
    echo "ok" >> /usr/local/nginx/html/status.html && \
    cd / && rm -rf nginx-1.19.10* && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#设置环境变量
ENV PATH $PATH:/usr/local/nginx/sbin
#拷贝宿主机的上配置文件到容器内
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
RUN mkdir -p /usr/share/nginx
#ADD ssl.tar.gz /usr/share/nginx/ssl
#设置工作目录
WORKDIR /usr/local/nginx
#设置端口
EXPOSE 80
EXPOSE 443
#运行nginx
CMD ["nginx", "-g", "daemon off;"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

5.4、编辑配置文件nginx.conf

[root@CentOS7-on-line nginx]# vim  nginx.conf 

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
     }

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root     /var/www/html; #工作目录,源码存放位置
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www/html;
        }
        #配置代理php
        location ~ \.php$ {
            root   /var/www/html; #工作目录,源码存放位置
            fastcgi_pass   my-php:9000; #my-php 容器名称
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            include        fastcgi_params;
#           nginx代理websocket
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_read_timeout 3600s;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Upgrade $http_upgrade;
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

6、部署php容器
编写php的dockerfile

[root@CentOS7-on-line 8.0.6]# vim Dockerfile 

FROM php:8.0.6-fpm
MAINTAINER cyz
EXPOSE 9000

RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list

#安装依赖包
RUN apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libmcrypt-dev \
    libpng-dev \
    libsqlite3-dev \
    libssl-dev \
    libcurl3-dev \
    libxml2-dev \
    libzzip-dev
#安装php扩展库 mysql gd
RUN apt-get update && docker-php-ext-install mysqli  pdo_mysql && docker-php-ext-install gd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

7、编写docker-compose.yml文件

[root@CentOS7-on-line docker-lnmp]# vim docker-compose.yml 

version: "3"
services:
#php 容器
  php:
    build: ./php/8.0.6
    container_name: my-php  #容器名称
    volumes:   #挂载到宿主机目录下
      - /home/docker-lnmp/www:/var/www/html
      - /home/docker-lnmp/logs/JTBC/nginx-logs:/var/log/nginx
    ports: #端口
     - 9000:9000
    networks:  #容器所属网络
     - lnmp
#nginx 容器
  nginx:
    build: ./nginx
    container_name: my-nginx  #容器名称
    depends_on:  #依赖容器,需要php启动成功再启动nginx
      - php
    volumes: #挂载到宿主机目录下
      - /home/docker-lnmp/www:/var/www/html 
      - /home/docker-lnmp/logs/JTBC/php-logs:/var/log/php
#    links:
#      - php:php-fpm
    ports: #端口
      - 80:80
    networks: #所属网络
      - lnmp

networks: #自定义网络
   lnmp:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

8、执行docker-compose

docker-compose up -d  #-d 表示后台执行
  • 1

在这里插入图片描述
9、测试

[root@CentOS7-on-line nginx]# cat index.php 
<?php
phpinfo();
?>
  • 1
  • 2
  • 3
  • 4

浏览器访问:ip+端口
在这里插入图片描述
禁止转载!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/829114
推荐阅读
相关标签
  

闽ICP备14008679号