博主信息
博文 85
粉丝 0
评论 0
访问量 95463
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
win7下的docker安装相关服务
Smile
原创
688人浏览过

  利用docker-compose安装redis服务

  1.首先拉去镜像,命令如下 docker pull redis:5.0

  2.配置docker-compose.yml文本

  说明下:

  这个docker-compose.yml文件可以建到docker里的哪个文件都可以,只不过在执行命令时,需要到该目录下执行相应命令才可以

  win7下安装的docker,默认是带有docker-compose的,但是在docker容器中是不能使用的,你链接到vm里时,执行 docker-compose --version 是会提示命令不存在的,解决办法如下

  上官网下载docker-compose包下载地址

  切换用户root sudo -i 切换到root用户

  执行以下命令

  输出 docker-compose --version ,显示有值则安装成功

  安装成功后,需要编写yml这个文件

  内容如下:

  curl -L github/docker/compose/releases/download/1.25.0-

  rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-

  compose

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

  version: '3'

  # 定义三个服务nginx,php,mysql

  services:

  nginx:

  # 依赖php服务,意味着在启动nginx之前先启动php

  depends_on:

  - php

  - redis

  # nginx镜像的路径

  image: nginx:1.17

  # 这样使nginx容器把网站文件和目录存放到主机目录中,持久化和方便管理

  volumes:

  #分号前面的是vm里的路径,这个路径是映射win7下的目录的,便于修改和查看,分号后面的是服务容器

  里的对应的目录

  - /var/www/html:/var/www/html

  - /var/www/nginx/log:/var/log/nginx

  - /var/www/nginx/conf:/etc/nginx/conf.d

  # nginx意外退出时自动重启

  restart: always

  # 映射80和443端口

  ports:

  - "8080:80"

  - "1443:443"

  # 容器名称

  container_name: mynginx

  redis:

  image : redis:5.0

  restart : always

  ports :

  - "6379:6379"

  volumes :

  - /var/www/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf

  - /var/www/redis/data:/data

  command:

  redis-server

  container_name: myredis

  php:

  depends_on:

  - mysql

  image : php:7.3-fpm

  restart : always

  volumes:

  - /var/www/html:/var/www/html

  - /var/www/php/conf:/usr/local/etc/php

  - /var/www/php/log:/var/log/php

  ports:

  - "9000:9000"

  container_name: php73

  通过 docker-compose up -d 在后台创建 并运行,开始时可以省略-d参数

  这个只安装的redis服务端口,由于客户端我打算使用predis来实现,并没有安装phpredis扩展

  安装phpredis扩展

  进入到php容器里,我这里中php73,命令是 docker exec -it php73 bash ,下载phpredis扩展

  curl -L -o /tmp/redis.tar.gz

  github/phpredis/phpredis/archive/5.0.2.tar.gz 这个可以根据你自己

  的版本来定

  解压并移动到指定目录

  使用docker自带的脚本来安装扩展

  mysql:

  image: mysql:5.7

  volumes:

  - /var/www/mysql/log:/var/log/mysql

  - /var/www/mysqldata:/var/lib/mysql

  - /var/wwww/mysql/conf:/etc/mysql/mysql.conf.d

  command:

  --character-set-server=utf8mb4

  --collation-server=utf8mb4_unicode_ci

  --innodb-use-native-aio=0

  --explicit_defaults_for_timestamp

  restart: always

  ports:

  - "33060:3306"

  # 设置MYSQL_ROOT_PASSWORD环境变量,这里是设置mysql的root密码。这里为root。

  environment:

  MYSQL_ROOT_PASSWORD: root

  container_name: myMysql

  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

  安装好后,重启php容器,查看phpinfo(),前题是你得提前退出php容器

  二.安装swoole服务(和安装redis扩展一样)

  三.安装elasticsearch服务

  1. 下载镜像 docker pull elasticsearch:6.8.3

  2.利用docker-compose 来管理容器

  配置docker-compose.yml文件,如下

  docker-php-ext-install redis

  docker restart php73

  version: '3'

  # 定义三个服务nginx,php,mysql

  services:

  nginx:

  # 依赖php服务,意味着在启动nginx之前先启动php

  depends_on:

  - php

  - redis

  # nginx镜像的路径

  image: nginx:1.17

  # 这样使nginx容器把买游戏账号网站文件和目录存放到主机目录中,持久化和方便管理

  volumes:

  - /var/www/html:/var/www/html

  - /var/www/nginx/log:/var/log/nginx

  - /var/www/nginx/conf:/etc/nginx/conf.d

  # nginx意外退出时自动重启

  restart: always

  # 映射80和443端口

  ports:

  - "8080:80"

  - "1443:443"

  # 容器名称

  container_name: mynginx

  redis:

  image : redis:5.0

  restart : always

  ports :

  - "6379:6379"

  volumes :

  - /var/www/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf

  - /var/www/redis/data:/data

  command:

  redis-server

  container_name: myredis

  #由于本机内存比较小,启动起来,太占内存,暂不启动

  # es-master:

  # image : elasticsearch:6.8.3

  # restart : always

  # ports :

  # - "9200:9200"

  # volumes :

  # - /var/www/es/data:/usr/share/elasticsearch/data:rw

  # -

  /var/www/es/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticse

  arch.yml

  # - /var/www/es/log:/usr/share/elasticsearch/logs:rw

  # container_name: es-master

  # #kibana es的可视化软件

  # kibana:

  # image: kibana:6.8.3

  # container_name: kibana

  # ports:

  # - "5601:5601"

  php:

  depends_on:

  - mysql

  image : php:7.3-fpm

  restart : always

  volumes:

  - /var/www/html:/var/www/html

  - /var/www/php/conf:/usr/local/etc/php

  - /var/www/php/log:/var/log/php

  ports:

  - "9000:9000"

  container_name: php73

  mysql:

  image: mysql:5.7

  volumes:

  - /var/www/mysql/log:/var/log/mysql

  - /var/www/mysqldata:/var/lib/mysql

  - /var/wwww/mysql/conf:/etc/mysql/mysql.conf.d

  command:

  --character-set-server=utf8mb4

  --collation-server=utf8mb4_unicode_ci

  --innodb-use-native-aio=0

  --explicit_defaults_for_timestamp

  restart: always

  ports:

  - "33060:3306"

  # 设置MYSQL_ROOT_PASSWORD环境变量,这里是设置mysql的root密码。这里为root。

  environment:

  MYSQL_ROOT_PASSWORD: root

  container_name: myMysql

  利用docker-compose安装redis服务1.首先拉去镜像,命令如下docker pull redis:5.02.配置docker-compose.yml文本二.安装swoole服务(和安装redis扩展一样)三.安装elasticsearch服务1. 下载镜像 docker pull elasticsearch:6.8.32.利用docker-compose 来管理容器

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学