美文网首页
Docker的一些tips

Docker的一些tips

作者: Defjia | 来源:发表于2017-12-20 00:31 被阅读0次

Docker切换国内镜像下载源

  • 修改Docker配置文件/etc/default/docker如下:
    DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"
  • 重启Docker
    service docker restart

添加映射端口

添加映射卷

Docker安装LNMP

Nginx

  • 反代
    抛个链接吧,没什么难的 —— 参考链接

Mysql

  • 配置参考链接
  • 导入.sql文件
    source /xxx/xx/sxxx.sql
  • PMA配置文件
    根目录下config.inc.php:
    • $cfg['Servers'][$i]['host'] = 'localhost'; //填写localhost或mysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost
    • $cfg['Servers'][$i]['port'] = ''; //mysql端口,如果是默认3306,保留为空即可
  • "Data truncated for column"错误
    • 添加字符长度(我的字段类型为text),所以不存在这个问题。
    • 更改字符类型为utf8(已经是UTF8)
  • 权限配置 -> 参考链接

PHP环境

  • 附上这个链接是因为我对php7.0-apache这个镜像不太会用,找不到php.ini,后来发现没有?
    参考链接1 - 用处不大
    参考链接2
    //配置ThinkPHP的重写
    a2enmod rewrite   //开启扩展
    修改配置 /etc/apache2/apache2.conf 中所有的AllowOverride None改为All
    //安装拓展组件在下面这个地方
    cd /usr/local/bin
    docker-php-ext-install pdo_mysql mysqli
  • 同样是上面这个镜像,当需要安装gd库时,怎么也装不好,初步估计可能是源的问题,后来换了163的Debian源(其他源在apt update时都会出现和缺少一个https有关的包的Error)。
    如果不需要更换源,Dockerfile可以这样写:
    FROM php:7.0-fpm
    RUN apt-get update && apt-get install -y \
          libfreetype6-dev \
          libjpeg62-turbo-dev \
          libmcrypt-dev \
          libpng-dev \
      && docker-php-ext-install -j$(nproc) iconv mcrypt \
      && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
      && docker-php-ext-install -j$(nproc) gd
    
    来源:php7.0-apache官方Docker文档
  • 另外,还会出现诸如此类的问题:
    The following signatures couldn't be verified because the public key is not available: NO_PUBKEY xxxxxxxxxxxxxxxx
    
    原因是缺少源的GPG public key。
    解决方案:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxxxx
    

FTP配置

在容器里安装了FTP,怎么也访问不了,后来才知道FTP不只需要一个端口 -> 参考链接

宝塔面板 - 文档

  • 开一个centos的容器
    docker run -i -t -d -p 520:520 -p 521:521 -p 580:80 -p 5443:443 -p 888:888 -p 8888:8888 -v /xxxx:/home -v /xxxx:/www  --name bt_manage centos
    
    注意,安装路径肯定是/www,貌似不好修改,另外一个是ftp.
  • 进入容器里面执行这些命令``
    yum check-update -y
    yum update -y
    yum install initscripts wget -y
    wget -O install.sh http://download.bt.cn/install/install.sh 
    ./install.sh
    
  • 最后输出的是用户名和密码要记下来。
  • 可以用反代然后用域名访问但是好像要加个/login?

Discuz

  • 拉取Discuz,要注意研究一下是否与php7兼容
    git clone https://gitee.com/ComsenzDiscuz/DiscuzX.git
  • 选取正确的Docker镜像文件,我选用php7.0-apache
    映射.../uploads/:/var/www/html
  • 开启mysqli拓展
    docker exec -it discuz /usr/local/bin/docker-php-ext-install mysqli && service apache2 restart
    这个apache2可能是httpd
  • 然后正常访问写数据库即可

SSL加密

相关文章

网友评论

      本文标题:Docker的一些tips

      本文链接:https://www.haomeiwen.com/subject/ddswwxtx.html