docker工具镜像下载及创建容器简介

一、docker创建一个统一的目录

/home/docker

/home/docker/swoole # swoole目录

/home/docker/swoole/swoole # swoole源码目录

/home/docker/swoole/project # swoole项目根目录

/home/docker/mysql/conf # mysql配置文件目录

/home/docker/mysql/data # mysql数据目录

/home/docker/nginx # nginx目录

/home/docker/nginx/conf # nginx配置目录

/home/docker/nginx/www/html # php项目根目录

/home/docker/php # php目录

/home/docker/redis # redis目录

/home/docker/redis/conf # redis配置目录

/home/docker/redis/data # redis数据目录

/home/docker/shipyard # shipyard数据及配置目录

/home/docker/swoft # swoft项目目录

/home/docker/swoft/swoftcli.phar # swoftcli工具,用于创建swoft项目

/home/docker/swoft/myblog # 通过swoftcli.phar创建的swoft项目

/home/docker/hyperf/project # hyperf项目目录

/home/docker/kafka/data # kafka数据目录

/home/docker/kafka/conf # kafka配置目录

/home/docker/kafka/logs # kafka日志目录

/home/docker/zookeeper/data # zookeeper数据目录

/home/docker/zookeeper/conf # zookeeper配置目录

/home/docker/zookeeper/logs # zookeeper日志目录

二、swoole安装及调试

1、下载swoole镜像对应PHP版本7.3

docker pull phpswoole/swoole:4.8.11-php7.3

2、测试下载的swoole镜像

docker run --rm phpswoole/swoole:4.8.11-php7.3 php -m

3、启动swoole容器

docker run --rm -p 8085:9501 --name swoole-test -v /home/docker/swoole/project:/var/www phpswoole/swoole:4.8.11-php7.3

4、启动后生成容器ID为1dd3d349f7ab

5、上传项目代码到 /home/docker/swoole/project 中,然后进入容器,docker -it exec 1dd3d349f7ab bash,然后运行服务,如:php web_socket_server.php

这里测试客户端的文件是html5,通过websocket与服务端通信

三、swoft安装及调试

1、下载swoft镜像

docker pull swoft/swoft

2、创建swoft容器

docker run -it -d --entrypoint="" -p 18306:18306 -v /home/docker/swoft:/var/www/swoft --name swoft-test swoft/swoft bash

-p 18306:18306 # 前面的端口是容器外的端口,后面的端口是映射到容器内的端口,配置在/var/www/swoft/myblog/app/bean.php里面

-v /home/docker/swoft:/var/www/swoft # 前面的目录是容器外的目录,后面的目录是容器里面的目录

--name swoft-test # 自定义容器名称

3、启动容器

docker start c5d35c2b2573 # 容器ID

4、进入swoft容器

docker exec -it c5d35c2b2573 bash

5、创建swoft项目

进入swoft容器后,使用【php swoftcli.phar create:app --type full myblog】创建swoft项目,myblog是项目名称

6、启动swoft项目的http服务

php ./myblog/bin/swoft http:start # 该命令在项目目录下,本例中对应/var/www/swoft/myblog/bin/swoft,然后在浏览器中输入http://localhost:18036/ 测试,可以打开页面,说明swoft服务启动成功

提示:swoftcli.phar是swoft的cli工具,用户管理swoft项目,可以在wget https://github.com/swoft-cloud/swoft-cli/releases/download/v0.2.0/swoftcli.phar 下载,放到/home/docker/swoft/目录

7、swoft项目开发

将/home/docker/swoft/myblog目录中的生成的默认代码下载到本地,然后在这个代码的基础上写自己的业务代码,写完后上传到这个目录,然后进入docker exec -it c5d35c2b2573 bash,这里是测试http server,进入容器后,php ./myblog/bin/swoft http:start 开启http服务,每次更新完代码如果原服务是开启的需要重启这个服务,如果没有开启的,需要开启服务,开启完服务,可以在浏览器中输入地址进行验证:http://172.16.150.128:18306/user/getUserList?userid=1 ,这里user是控制器名称,getUserList是控制器方法名称,整个路由就是:/user/getUserList,请求的参数userid

四、hyperf安装及调试

1、下载hyperf镜像

本例对应hyperf版本:7.3-alpine-v3.10-swoole-v4.8.10

docker pull hyperf/hyperf:7.3-alpine-v3.10-swoole-v4.8.10

2、创建并启动hyperf容器

docker run --name hyperf -v /home/docker/hyperf/project:/data/project -p 9504:9504 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.3-alpine-v3.10-swoole-v4.8.10

3、进入容器

docker exec -it 36a24dea31c2 bash

4、这里开发需要用到composer,将 Composer 镜像设置为阿里云镜像,加速国内下载速度

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

5、创建hyperf项目

cd /data/project

composer create-project hyperf/hyperf-skeleton

项目完整目录:/data/project/hyperf-skeleton

6、启动hyperf项目

cd hyperf-skeleton

php bin/hyperf.php start

五、mysql安装及调试

1、下载mysql镜像

本例对应的mysql版本是:8.0.26

docker pull mysql:8.0.26

2、创建mysql在容器外的存储目录

mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/data

3、创建并启动mysql容器

docker run
--name mysql_test
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456a
--mount type=bind,src=/home/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf
--mount type=bind,src=/home/docker/mysql/data,dst=/var/lib/data
--restart=on-failure:3
-d mysql

--name 设置容器名称
-p 设置映射端口,容器外的端口:容器内端口
-e 设置mysql root用户密码
--mont挂载配置目录和数据目录
-d 后台运行 \

4、配置mysql

vi /home/docker/mysql/conf/my.cnf

5、进入容器

docker exec -it mysql_test bash

六、redis安装及调试

1、下载redis镜像

docker pull redis:5.0.14

2、创建redis在容器外的存储目录

mkdir -p /home/docker/redis/conf && mkdir /home/docker/redis/data

3、创建并启动redis容器

docker run -itd
--name redis-test
-p 6379:6379
-v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf
-v /home/docker/redis/data:/data redis:5.0.14 redis-server /etc/redis/redis.conf --appendonly yes

4、配置redis

vi /home/docker/redis/conf/redis.conf

5、进入容器

docker exec -it redis-test bash

七、mongdb安装及调试

1、下载redis镜像

docker pull mongo:latest

2、创建MongDB在容器外的存储目录

3、创建并启动MongDB容器

docker run -itd --name mongo -p 27017:27017 mongo --auth

4、配置MongDB

5、进入容器

docker exec -it mongo bash

八、php-fpm环境安装及调试

1、下载nginx镜像

docker pull php:7.3-fpm

2、创建在容器外的存储目录

mkdir -p /home/docker/php

3、创建并启动容器

docker run --name 7.3-fpm -v /home/docker/nginx/www/html:/www -d php:7.3-fpm

4、配置

5、进入容器

docker exec -it 7.3-fpm bash

九、php-nginx环境安装及调试

1、下载镜像

docker pull nginx

2、创建在容器外的存储目录

mkdir -p /home/docker/nginx/www/html /home/docker/nginx/conf /home/docker/nginx/logs

3、创建并启动容器

docker run
--name php-nginx-web
-p 8083:80 -d
-v /home/docker/nginx/www/html:/usr/share/nginx/html
-v /home/docker/nginx/conf.d:/etc/nginx/conf.d:ro
--link 7.3-fpm:php nginx

4、配置

5、进入容器

docker exec -it php-nginx-web bash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值