博客列表 >win7下的docker安装相关服务

win7下的docker安装相关服务

Coco
Coco原创
2021年12月12日 21:47:52319浏览

  利用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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议