zoukankan      html  css  js  c++  java
  • docker 学习搭建 php 环境

    1.centos安装docker服务

    sudo yum install -y yum-utils

    sudo yum-config-manager

        --add-repo 

    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    sudo yum install docker-ce docker-ce-cli containerd.io

    1. 配置镜像加速

    vi  /etc/docker/daemon.josn

    {"registry-mirrors":["https://hub-mirror.c.163.com/"]}

    镜像分层技术,同类库不重新下载

    docker images 列出所有镜像

    docker ps 列出所有在运行容器

    -a 列出所有容器,包括没有运行的容器

    docker rm (container id or container name) 删除容器

    docker rmi (image id or image name:image tag  latest 可省略) 删除镜像

    docker pull (image name:image tag latest 可省略) 安装镜像

    docker run -d --name=mynginx -p 80:80/tcp nginx

    -d 后台运行

    --name 指定容器名称

    -p 指定映射端口

    -P 随机映射端口

    -v 数据挂载

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

    nginx + php 部署

    启动PHP

    $ docker run --name  myphp-fpm -v ~/nginx/www:/www  -d php:5.6-fpm

    --name myphp-fpm : 将容器命名为 myphp-fpm

    -v ~/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /www

    mkdir ~/nginx/conf/conf.d

     

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   /usr/share/nginx/html;

            index  index.html index.htm index.php;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   /usr/share/nginx/html;

        }

        location ~ .php$ {

            fastcgi_pass   php:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;

            include        fastcgi_params;

    }}

    启动nginx

    docker run --name runoob-php-nginx -p 8080:80 -d  -v ~/nginx/www:/usr/share/nginx/html:ro  -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro  --link myphp-fpm:php   nginx

    -p 8083:80: 端口映射,把 nginx 中的 80 映射到本地的 8083 端口。

    ~/nginx/www: 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。

    ~/nginx/conf/conf.d: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。

    --link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。

    mysql

    docker pull mysql:5.6 拉取mysql5.6镜像

    创建mysql目录

    mkdir ~/nginx/mysql/data ~/nginx/mysql/logs ~/nginx/mysql/conf

    运行 mysql

    docker run -p 3306:3306 --name bdmysql -v ~/nginx/mysql/conf:/etc/mysql -v ~/nginx/mysql/logs:/logs -v ~/nginx/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d --link myphp7.3:php mysql:5.6

     

    安装并运行phpmyadmin

    docker run --name dbmyadmin -d --link bdmysql:db -p 8686:80 phpmyadmin/phpmyadmin

     

     

     

     

     

     

    1. docker-compse安装

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    将可执行权限应用于二进制文件

    sudo chmod +x /usr/local/bin/docker-compose

    创建软连接

    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    1. Docker Machine 安装

    base=https://github.com/docker/machine/releases/download/v0.16.0 &&

      curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&

      sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&

      chmod +x /usr/local/bin/docker-machine

    1. Docker Machine 创建

    centos不支持virtualbox驱动,所以使用generic

    需要先创建密钥

    ssh-keygen

    然后执行

    ssh-copy-id root@192.168.5.1 ip为本机地址

    最后执行创建主机

    docker-machine create -d generic --generic-ip-address=192.168.5.1 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root vm

  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/hubudong/p/14913165.html
Copyright © 2011-2022 走看看