用户工具

站点工具


dockerdeploy

这是本文档旧的修订版!


docker环境配置

安装

docker pull php:5.6-fpm

docker pull redis

docker pull nginx

docker pull mysql:5.7

进PHP环境

docker exec -it php-fpm /bin/bash

安装GD环境

#更新软件源

apt update 

#安装各种库

apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev 
docker-php-source extract
cd /usr/src/php/ext/gd  

#准备编译

docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png- 
dir=/usr/include --with-freetype-dir=/usr/include/freetype2   

#编译安装

docker-php-ext-install gd   

#pdo mysql 扩展

docker-php-ext-install pdo
docker-php-ext-install pdo_mysql

安装PHP扩展

curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
cp /data/git/phpredis-3.1.3.tar.gz /tmp/redis.tar.gz
tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1.3 /usr/src/php/ext/redis
docker-php-ext-install redis

初始化并启动

docker-compose up -d 

以后就直接吏用

docker-compose restart

即可重启,

删除重建:

docker-compose down

附件

docker-compose.yml

———————————————start======================================= version: '2.1' services: nginx: image: “nginx” container_name: nginx restart: always volumes: - /data/git:/data/git - ../nginx/conf.d:/etc/nginx/conf.d ports: - “80:80” depends_on: - php-fpm links: - php-fpm:php php-fpm: image: “php:5.6-fpm” container_name: php-fpm restart: always volumes: - /data/git:/data/git ports: - “9000:9000” depends_on: - redis - mysql links: - redis:redis - mysql:mysql mysql: image: “mysql:5.7” container_name: mysql restart: always ports: - “3306:3306” environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 command: –character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci –explicit_defaults_for_timestamp=true –lower_case_table_names=1 –max_allowed_packet=128M –sql- mode=“STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION, NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO” volumes: - /data/mysql/data:/var/lib/mysql - /data/mysql/conf/my.cnf:/etc/my.cnf:ro - /data/mysql/init:/docker-entrypoint-initdb.d/ redis: image: “redis:latest” container_name: redis restart: always ports: - “6379:6379” 
=======================end————————————

nginx 虚拟机配置:

server{

      listen 80;
      server_name  newerp.sx.com;
      root /data/git/newerp-stand/public;
      index index.php index.html index.htm;
  location / {
          if (!-e $request_filename) {
              rewrite  ^/(.*)$  /index.php/$1  last;
              break;
         }
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      expires 100d;
  }
  location ~ .*\.(js|css)?$ {
      expires 30d;
  }
  location ~ \.php(/|$) {
      fastcgi_pass   php:9000;
      fastcgi_index  index.php;
      include        conf.d/fastcgi.conf;
      set $fastcgi_script_name2 $fastcgi_script_name;
      if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {
          set $fastcgi_script_name2 $1;
          set $path_info $2;
      }
      fastcgi_param   PATH_INFO $path_info;
      fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;
      fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;
  }

}

程序内,涉及到需要连接mysql的,mysql地址统一写:mysql 如果需要连redis的,地址统一写:redis

====================================其中php如查使用素玄的源,不需要做太多PHP的配置 如下: docker harbor :

https://blog.csdn.net/aixiaoyang168/article/details/73549898

——使用:

本机hosts添加:192.168.0.13 docker.suxuantech.cn docker login docker.suxuantech.cn:8070 输入帐号和密码: dev Dev12345

docker pull docker.suxuantech.cn:8070/suxuan/php56sx:latest docker pull redis docker pull nginx docker pull mysql:5.7

拉取PHP时,如果出现:Error response from daemon: Get https://docker.suxuantech.cn:8070/v2/: http: server gave HTTP response to HTTPS client 则需要把docker客户端配置里增加insecure-registries 配置

修改yml文件:

php-fpm:

  image: "docker.suuxantech.cn/suxuan/php56sx"

———————————————————————————— 虚拟机配置不变

有修改后: 1.先把修改的容器,打包成本地的镜像 docker commit -m 'remove bease logs' -a “php56sx” php-fpm php56sx 2.把镜像打个Tag docker tag php56sx docker.suxuantech.cn:8070/suxuan/php56sx:latest 3.推送到远端 docker push docker.suxuantech.cn:8070/suxuan/php56sx

dockerdeploy.1623897285.txt.gz · 最后更改: 2021/06/17 10:34 由 songdemei