docker 初涉

  1. docker基础
    查看如下网站
    https://blog.csdn.net/jiang_xinxing/article/details/58025417
    https://hub.docker.com/

  2. 下载地址 https://download.docker.com/mac/stable/Docker.dmg

  3. 拖拽完成设置国内静像地址 http://2i02t3df.mirror.aliyuncs.com
  4. PHPstrom打开总项目目录
  5. 在总项目目录新建docker/nginx/dev.test.com
server {

    listen 80;
    listen [::]:80;

    server_name dev.test.com;
    root /app/cbiz/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php7.1-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 6000;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/cbiz_error.log;
    access_log /var/log/nginx/cbiz_access.log;
}
  1. 在总项目目录新建docker/php5.6/.evn或者docker/php7.1/.evn
5.6
YII_DEBUG       = true
APP_MAINTENANCE = 0
# yii 1.1版本切换环境
SITE_ENV=develop
# Application
# -----------
LINK_ASSETS=true

GITHUB_CLIENT_ID = your-client-id
GITHUB_CLIENT_SECRET = your-client-secret

GLIDE_SIGN_KEY = 6wmFLPu50f-Salm9g0uE6J7B3nq2P4FS
GLIDE_MAX_IMAGE_SIZE = 4000000

# To resolve "Invalid volumes",For Toolbox. (https://github.com/docker/toolbox/issues/607)
#COMPOSE_CONVERT_WINDOWS_PATHS=1

# 给项目一个名称默认是文件夹名称
#COMPOSE_PROJECT_NAME=test

# 设置xdebug的ip地址,也就是本机的ip地址
XDEBUG_REMOTE_HOST=172.16.39.35
#XDEBUG_REMOTE_HOST=172.16.39.35
# 启用远程调试
XDEBUG_REMOTE_ENABLE=1
# 设置xbebug端口,默认是9001
XDEBUG_REMOTE_PORT=9001

# 设置docker的地址
#DOCKER_HOST=tcp://172.16.34.210:2376

# sc config docker binpath= "\"C:\Program Files\Docker\Docker\Resources\bin\docker.exe\" --run-service -H tcp://0.0.0.0:2375"

#php7.1类似
  1. 根据配置生成项目文件和docker容器的文件映射
docker-compose up 或者 docker-compose up --force-recreate -d

若如遇到80端口被占用,特别是本地安装过httpd的,其他端口正常使用时候 ,检测和问题解决如下

sudo lsof -i :80
sudo killall httpd
sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist
  1. docker 配置文件的配置,需注意每次修改备至文件 需要强制重新启动,不然执行的是缓存
version: "3"
services:
  php5.6:
    image: daishun/php:5.6-fpm
    volumes:
      - ../:/app
      - ~/.composer-docker/cache:/root/.composer/cache
    env_file:
      - ./php5.6/.env
    extra_hosts:
      - "dev.test.com:172.16.39.35"

  php7.1:
    image: daishun/php:7.1-fpm
    volumes:
      - ../:/app
      - ~/.composer-docker/cache:/root/.composer/cache
    env_file:
      - ./php7.1/.env
    extra_hosts:
      - "dev.test.com:172.16.39.35"

  nginx:
    image: nginx:1.12-alpine
    ports:
      - 80:80
    volumes:
      - ../:/app
      - ./nginx:/etc/nginx/conf.d
    depends_on:
      - php5.6
      - php7.1
#不需要数据库的可不配,需要的可以配置,但是注意在总项目目录下的docker文件下配置响应的mysql文件夹和配置文件
  db:
    image: mysql:5.6
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./mysql/db:/var/lib/mysql
    env_file:
      - ./mysql/.env

mysql明知修改后,一定要重新执行docker-compose down,不然会生成多个mysql,可使用
docker ps,进行检测。

  1. 常用命令
docker-compose exec php5.6 bash  进入doceker容器
docker-php-ext-install sysvmsg  shmop
  1. 10.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值