欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

win7下的docker安装相关服务

程序员文章站 2022-03-27 09:58:53
...

  利用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 来管理容器