zoukankan      html  css  js  c++  java
  • 内网服务器 docker部署Lnmp项目

    常用命令

    镜像的导出导入 和 命名;这一步导出可以保存tar文件,作为离网的环境安装docker-compose

    docker save 镜像id > 文件名.tar

    docker load < 文件名.tar

    docker tag 镜像id 镜像名称:tag

    --- docker run -it --network lnmp_lnmp --rm 容器id mysql  --version 调用mysql,但是这个不能再宿主机使用(按理说是有方法执行的,我再找找看)

    --- docker exec -it 容器id /bin/bash  进入容器

    --- 查看网络配置信息 docker network inspect  network_id

    项目部署完成之后,会报一个 driver 连接失败 , 根据报错得知  是因为docker 里面的 pdo-mysql没有开启

    解决方法:

    进入php容器
    >    cd /usr/local/bin

    >   ./docker-php-ext-install pdo

    >   ./docker-php-ext-install pdo_mysql



    //这个步骤估计可以忽略,加了也没关系
    然后在/usr/local/etc/php/conf.d 下面创建一个 docker-php-ext-pdo_msql.ini 文件
    输入 extention=pdo_mysql.so

     # 最后执行
    >docker php容器id restart     //重启一下php容器 

    再次运行 就可以了

    知识点补充:

    **  docker 镜像数据 和 宿主机数据 共享

    > docker run -it  -v {主机路径}: {容器路径[这里最好定义一个没用的文件夹]} 镜像id  /bin/bash   // 进入容器里面
    然后可以根据双方定义好的数据进行传输比如

    {主机路径} 为  /tmp/cyq

    {容器路径} 为 /cyq

    那么把数据放在这个路径里面,双方的数据就能共享了;

    ** docker修改容器生成镜像

    > sudo docker run -it 镜像id /bin/bash

    进行操作,例如需求   php7.2.3-fpm  这个镜像里面,缺少gd 和 zip 下载两个扩展包,并且安装pdo 和 pdo_mysql 需要下载并安装上去

    > apt-get update && apt-get install -y libfreetype6-dev  libjpeg62-turbo-dev  libpng-dev && docker-php-ext-install -j$(nproc) iconv && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd && docker-php-ext-install mysqli pdo pdo_mysql

    // 退出容器

    > exit

    //这个步骤是跟docker 里面的 Dockerfile 是一样的道理

    创建Dockerfile 写入

    FROM php7.2.3-fpm

    RUN apt-get update && apt-get install -y
    libfreetype6-dev
    libjpeg62-turbo-dev
    libpng-dev
    && docker-php-ext-install -j$(nproc) iconv
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
    && docker-php-ext-install -j$(nproc) gd
    && docker-php-ext-install mysqli pdo pdo_mysql

    // ↑ 进入容器会标识当前容器id的,如 root@容器id , 或者根据docker ps -a 查看刚刚的容器;(注意每次run 镜像的时候 都会生成一个单独的容器)

    >  docker commit -m="提交的描述信息" -a="作者" 容器id  标镜像名:[标签名]
    > docker images   // 查看刚刚生成的新镜像

  • 相关阅读:
    [原创] 毕设---在myeclipes中安装Hadoop开发插件
    [转]Linux下RPM软件包的安装及卸载 yum操作
    [转]结构化、半结构化和非结构化数据
    [转]这5种必知的大数据处理框架技术
    [转]浅谈Hive vs. HBase 区别在哪里
    前端资源整理
    每个程序员都应该知道的10大基础算法
    Python Day14(HTML)
    Python Day13(yaml)
    Python Day12(补充)
  • 原文地址:https://www.cnblogs.com/cyq632694540/p/10876993.html
Copyright © 2011-2022 走看看