win7下的docker安装相关服务

利用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 https://github.com/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

https://github.com/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

展开阅读全文

页面更新:2024-05-27

标签:分号   端口   容器   路径   持久   环境变量   文本   命令   定义   意外   内存   名称   主机   文件   目录   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top