win10安装docker

安装doker

建议使用阿里云下载地址下载

  1. 下载doker安装包阿里云下载地址
    在这里插入图片描述
    第一个选项是安装liunx子系统
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    没有开启虚拟化
    在这里插入图片描述
    查看windows功能发现子系统已安装
    在这里插入图片描述
    进入bios打开虚拟化(cmd systeminfo查看虚拟化有没有打开或在任务管理器查看)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    此时window是 功能里面的Hyper-V是没有安装的
    在这里插入图片描述
    点击左下角 Skip tutorial 就可以跳过教程 进入docker,
    配置阿里云镜像加速器,在以下输入框中填写下方加速器地址:
"registry-mirrors": ["阿里云加速地址"]

在这里插入图片描述
这里不建议升级,最新版本不稳定
在这里插入图片描述
到这里docker 就安装完成了。之后我们配置一个swoole环境

安装phpswoole环境

打开cmd 收入docker -v 查看doker 是否安装成功
在这里插入图片描述

创建容器
  1. 拉去镜像
     docker pull phpswoole/swoole:4.5-php7.4
    
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

命令说明:

  • –name mer_pro : 将容器命名为 mer_pro 。
  • -v D:\crmeb\demo:/var/www : 将主机中项目的目录 D:\crmeb\demo 挂载到容器的 /var/www
  • -p 8325:8325 用于添加端口映射,把 mer_pro 中的 8325 端口暴露出来。
  • -i: 以交互模式运行容器,通常与 -t 同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -d: 后台运行容器,并返回容器ID;
  1. 创建容器
    docker run --name mer_pro -itd -p 8325:8325 -v D:\crmeb\demo:/var/www phpswoole/swoole:4.5-php7.4
    
    在这里插入图片描述
安装mysql
  1. 拉去mysql镜像

    docker pull mysql:5.7
    

    在这里插入图片描述

  2. 创建mysql容器

    1. 在本地创建mysql配置文件my.cnf,创建mysql容器是需要映射配置文件,方便修改
    	[mysqld]
    	sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
    1. 创建容器
    	docker run -p 3306:3306 --network=bridge --name mysql01 -v D:\crmeb\mysql\conf\my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    
    -p 3306:3306把主机的3306端口映射为容器的3306端口. 冒号前是主机的, 冒号后是容器的
    –name mysql将新创建的容器名称命名为mysql, 方便后续操作
    -v $PWD/conf:/etc/mysql/conf.d配置文件夹映射, 把本地$PWD/conf文件夹映射为容器的/etc/mysql/conf.d
    -e MYSQL_ROOT_PASSWORD=root设置root账户的密码为root
    -v $PWD/logs:/logs映射log文件夹
    -d以守护进程的方式进行运行
  • PWD表示根目录,建议写绝对路径

    在这里插入图片描述

  • 如果报以下错误

    [Warning] World-writable config file '/etc/mysql/mysql.conf.d/mysqld.cnf' is ignored.
    

    是应为文件的权限过大,mysql直接给忽略了,文件权限设置成644就可以了

    chmod 644 /etc/mysql/mysql.conf.d/mysqld.cnf
    
  • ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
    重新登陆一下

    mysql -uroot -proot -h127.0.0.1 -P 3306 -D mysql
    

在这里插入图片描述

  • 如果端口号被占用了,cmd输入netstat -ano |findstr “3306” 搜索一下本地3306端口号的使用情况
    在这里插入图片描述
  • 打开任务管理器点击详细信息,查找PID为7848的服务,我这是被本地mysql 占用了,关闭mysql就行,也可以更换端口号
    在这里插入图片描述
  • 更换端口号再次创建容器(删除之前创建的mysql容器)
    docker run -p 3307:3306 --name mysql01 -v D:\crmeb\mysql\conf\my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf  -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    
    在这里插入图片描述
安装redis
  1. 拉取镜像
    docker pull redis:latest
    
    在这里插入图片描述
    2. 创建redis容器(本地端口也是被占用的,换其它端口映射,防止冲突)
    	docker run -itd --name redis -p 6380:6379 redis
    
    在这里插入图片描述
  • ok 简单测试一下mysql和redis容器
    1. mysql 链接成功过
      在这里插入图片描述
    2. redis链接成功
      在这里插入图片描述

镜像归档和导入(以下命令都是作用域当前目录)

  1. 归档
    # 打包redis
    docker save -o redis.tar redis
    # 打包mysql
    docker save -o mysql_5.7.tar mysql:5.7
    # 打包phpswoole/swoole
    docker save -o mysql_5.7.tar mysql:5.7
    
  2. 导入
    # 导入redis
    docker load < redis.tar
    # 导入mysql
    docker load < mysql_5.7.tar
    # 导入phpswoole/swoole
    docker load < phpswoole_4.5-php7.4.tar
    

安装crmeb多商户商城系统

  1. 容器切换国内源
    备份

    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    

    将线上文件拷贝到线下

    cp /etc/apt/sources.list /var/www/sources.list
    

    修改源

    
    # 阿里云源
    deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
    deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
    deb http://mirrors.aliyun.com/debian-security buster/updates main
    deb-src http://mirrors.aliyun.com/debian-security buster/updates main
    deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
    deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
    deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
    deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
    
    
    # 清华大学源 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
    

    如果遇到无法拉取 https 源的情况,请先使用 http 源并安装:

    sudo apt install apt-transport-https ca-certificates
    

    将线下文件拷贝到线上

    cp /var/www/sources.list /etc/apt/sources.list
    

    更新源

    apt-get update
    
  2. 将代码放到phpswoole/swoole容器映射的目录下,启动swoole
    在这里插入图片描述
    安装swoole loader,将程序提供的swoole_loader74.so 放到/usr/local/lib/php/extensions/no-debug-non-zts-20190902/目录下,这里需要在容器里按装一个vim编辑器,修改php配置文件(先把文件已过去,最后一起添加php配置文件)

    cp /var/www/install/swoole-loader/swoole_loader74.so /usr/local/lib/php/extensions/no-debug-non-zts-20190902
    docker-php-ext-enable swoole_loader74
    

安装扩展

安装mysqli

docker-php-ext-install mysqli pdo pdo_mysql

安装zip

apt-get update && \
apt-get install -y --no-install-recommends libzip-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) zip

安装GD库

# 更新软件源
apt-get update
 
# 安装相关库
apt-get install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
 
# 解压源码
docker-php-source extract
 
# gd 源码文件夹
cd /usr/src/php/ext/gd
 
docker-php-ext-configure gd --help //查看参数

#配置gd库编译项
docker-php-ext-configure gd --with-webp=/usr/include/--with-jpeg=/usr/include --with-freetype=/usr/include/

cd /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
 
ls 
 
gd.so  opcache.so  sodium.so

#安装gd扩展
docker-php-ext-install gd

docker中PHP中安装扩展的四大基本命令

按装 bcmath 和 bcmath

docker-php-ext-install -j$(nproc) bcmath pcntl

安装redis

pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis

报错是应为php没有安装igbinary(序列化扩展)、lzf(压缩扩展)、zstd(压缩扩展工具)扩展
PHP 压缩与归档
安装igbinary
在这里插入图片描述

pecl install igbinary && docker-php-ext-enable igbinary

在这里插入图片描述
配置一下php.ini就可以了

安装lzf

pecl install lzf && docker-php-ext-enable lzf

Sacrifice speed in favour of compression ratio? 为了压缩比牺牲速度?
在这里插入图片描述
同样添加一下php.ini
在这里插入图片描述
安装zstd

pecl install zstd && docker-php-ext-enable zstd

在这里插入图片描述
添加一下php.ini 重新安装redis扩展
在这里插入图片描述
安装libzstd

apt-get update && apt-get install libzstd-dev

再次安装redis

pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis

安装成功
在这里插入图片描述

好的 依旧报错,这里是应为redis内有连接上,修改一下程序里的.evn文件
在这里插入图片描述

修改php配置文件

这里我将文件复制到/var/www 编辑完成后再拷贝过去

cp /usr/local/etc/php/php.ini-development /var/www/php.ini

将修改好的php.ini文件复制到容器里

cp /var/www/php.ini /usr/local/etc/php/php.ini
  • 将容器里的php.ini文件复制到本地
    cp /usr/local/etc/php/php.ini /var/www/php.ini
    

php.ini配置


[swoole_loader]
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/swoole_loader74.so

extension=igbinary.so
extension=lzf.so
extension=zstd.so
extension=redis.so

我们需要的扩展就都安装好了
在这里插入图片描述
cd 到我们映射的项目目录,启动swoole

cd /var/www
php think swoole

在这里插入图片描述
本地访问http://localhost:8325(8325是映射的端口号)记得修改程序里面swoole的端口(php容器端口号)
在这里插入图片描述
在这里插入图片描述

安装检测
在这里插入图片描述
在这里插入图片描述
完事

win开启虚拟化(原文地址

  1. 查看虚拟化是否开启,cmd输入systeminfo
    在这里插入图片描述
  2. 进入到BIOS管理界面后,我们在管理界面中找到“Advanced”–>“CPU Configuration”菜单,点击进去后,如果是Intel CPU则找到“Intel Virtual Technology”,然后设置为“Enable”状态;如果是AMD CPU则找到“SVM Support”,然后设置为“Enable”状态。注:不同电脑的菜单存在不同的名称,开启时也可以到各自电脑品牌官网查看开启路径。
    在这里插入图片描述
  3. 进入系统后,鼠标移至左下角任务栏的“微软图标”上,然后右键,在弹出的窗口中选择“应用和功能”;
    在这里插入图片描述
  4. 弹出“应用和功能”的设置窗口后,我们再选择点击“可选功能”
    在这里插入图片描述
  5. 在新窗口中,我们把页面用鼠标滚轮拉到最下面,找到“更多Windows功能”
    在这里插入图片描述
  6. 然后弹出来的“Windows功能”窗口中找到“Hyper-V”,我们把“Hyper-V GUI管理工具”和“Hyper-V平台”勾选上,然后点击“确定”按键,此时将会安装Hyper-V功能相关的组件。
    在这里插入图片描述
  7. 安装完成后,需要重启电脑方可生效。

win无法进入dios(原文地址

  1. 打开控制面板,选择硬件和声音
    在这里插入图片描述

  2. 点电源选项,进入下一菜单
    在这里插入图片描述

  3. 这一步,选择电源按钮功能
    在这里插入图片描述

  4. 出来这个界面,就更改当前不可用的设置,专门修改箭头指向的启用快速启动。PS:这个是小编取消完后截的图,这个默认是开启的。
    在这里插入图片描述
    在这里插入图片描述

问题1

在这里插入图片描述

解决

https://czf-net.xyz/res/ 下载wsl.msi

提问

  1. 常量的命名规范?答案1
  1. Git新功能的提交规范 答案2
  1. php中单引号’'和双引号""的区别 答案3
  1. PHP echo 和 print 语句区别 答案4
  1. Mysql 取余函数 答案5
  1. Mysql upper函数的作用 答案6
  1. select length(‘张三’) as 姓名;输出是多少 答案7
  1. Mysql now()和curdate()有什么区别?答案8
  1. 使用日期和时间函数计算当前日期是一年的第几周。答案9
  1. 3.14159四舍五入保留两位小数 答案10
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值