IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> WSL2 系统下 docker-desktop 容器里安装 laravel 框架 -> 正文阅读

[系统运维]WSL2 系统下 docker-desktop 容器里安装 laravel 框架

目录

一、laravel 官方文档的容器安装方法对于国内是没办法安装的

二、使用 laravel 官方自带的 sail 命令安装 laravel 容器

1.首先,要获取一个 laravel 框架,使用 phpstudy 软件用 composer 拉取一个laravel 框架

2.Windows 系统使用 Terminal 工具进入 WSL2 子系统

?3.添加项目的 linux 镜像源?

4.修改 Dockerfile 里的内容

5.整理安装文件及目录

6.运行容器

三、配置开发环境是需要经历过九九八十一难的,所有的原因总结大致为最主要的两点(其它的在这里忽略了,也许我没有遇到):


参考社区文档:搭建 Laravel Sail 开发环境 - MacOS | Docker 开发环境 —— Sail |《构建 Laravel 开发环境 9.x》| Laravel China 社区 (learnku.com)

?参考社区翻译后的 laravel 文档手册:安装 | 入门指南 |《Laravel 9 中文文档 9.x》| Laravel China 社区 (learnku.com)

一、laravel 官方文档的容器安装方法对于国内是没办法安装的

他的命令是这样的:

curl -s https://laravel.build/example-app | bash

https://laravel/build 存放的是一段脚本,执行后直接拉取镜像,你无法修改里面的内容,比如说我们最关心的 composer 镜像源,执行到最后是下面这样的:

我以为是我的 WSL2 子系统没有设置好 composer 的镜像源, 我把子系统里的 composer 镜像源修改为阿里云的,结果还是像上面一样在拉取国外官方镜像源的包,如果是拉取国外的包,要么科学上网,有时网速又不快,会超时;要不洗洗睡了。

二、使用 laravel 官方自带的 sail 命令安装 laravel 容器

1.首先,要获取一个 laravel 框架,使用 phpstudy 软件用 composer 拉取一个laravel 框架

步骤这里省略了。

官网下载:小皮面板(phpstudy) - 让天下没有难配的服务器环境! (xp.cn)

2.Windows 系统使用 Terminal 工具进入 WSL2 子系统

$ cd ~

$ mkdir laravel

$ cd laravel

# 打开 VSCode 编辑器
$ Code .

从 VSCode 编辑器侧边栏复制获取到的 laravel 框架到上面增加的 laravel 目录里:

?编辑器重新打开目录到项目的根目录,便于 VSCode 编辑器打开项目的根目录:

?3.添加项目的 linux 镜像源?

添加位置:

\\wsl$\Ubuntu-20.04\home\user\laravel\app\vendor\laravel\sail\runtimes\8.0\sources.list

截图如下:

?镜像源文件内容如下,是清华大学的 Ubuntu21 的镜像源,如果用 Ubuntu20 的镜像源会报错:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-backports main restricted universe multiverse 
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-security multiverse

4.修改 Dockerfile 里的内容

主要是修改里面的镜像源,否则容器安装不上,内容如下:

FROM ubuntu:21.10

LABEL maintainer="Taylor Otwell"

ARG WWWGROUP
ARG NODE_VERSION=16

WORKDIR /var/www/html

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

ADD sources.list /etc/apt/

RUN apt-get update \
    && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
    && mkdir -p ~/.gnupg \
    && chmod 600 ~/.gnupg \
    && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf \
    && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E5267A6C \
    && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C300EE8C \
    && echo "deb https://launchpad.proxy.ustclug.org/ondrej/php/ubuntu impish main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \
    && apt-get update \
    && apt-get install -y php8.0-cli php8.0-dev \
       php8.0-pgsql php8.0-sqlite3 php8.0-gd \
       php8.0-curl php8.0-memcached \
       php8.0-imap php8.0-mysql php8.0-mbstring \
       php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap \
       php8.0-intl php8.0-readline php8.0-pcov \
       php8.0-msgpack php8.0-igbinary php8.0-ldap \
       php8.0-redis php8.0-swoole php8.0-xdebug \
    && curl -so /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \
    && chmod a+x /usr/bin/composer \
    && composer --version \
    && curl -sL https://deb.nodesource.com/setup_$NODE_VERSION.x | bash - \
    && apt-get install -y nodejs \
    && npm install -g npm \
    && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
    && apt-get update \
    && apt-get install -y yarn \
    && apt-get install -y mysql-client \
    && apt-get install -y postgresql-client \
    && apt-get -y autoremove \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN update-alternatives --set php /usr/bin/php8.0

RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.0

RUN groupadd --force -g $WWWGROUP sail
RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail

COPY start-container /usr/local/bin/start-container
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY php.ini /etc/php/8.0/cli/conf.d/99-sail.ini
RUN chmod +x /usr/local/bin/start-container

EXPOSE 8000

ENTRYPOINT ["start-container"]

5.整理安装文件及目录

根目录下运行:

php artisan sail:publish

此命令会做两个事情:

根目录下创建 docker 目录,并将 vendor/laravel/sail/runtimes 目录下的文件及目录复制过来;
更新 docker-compose.yml 文件,使用 docker 目录中的 Dockerfile。

6.运行容器

在项目的根目录下,运行下面的命令:?

./vendor/bin/sail up

此时此刻闭目养神,静静等待。。。。

三、配置开发环境是需要经历过九九八十一难的,所有的原因总结大致为最主要的两点(其它的在这里忽略了,也许我没有遇到):

第一个原因是,国内配置环境的时候各种各样的官方镜像源都在国外,由于被“墙”掉的原因,会报错误的,所以,把林林总总所需要的开发软件的镜像源替换成国内镜像源是成功的第一步;

第二个原因是,开发的软件使用的比较多,而且又是相互依存的,版本对上号是关键的第二步。比如 laravel 框架是高版本的 php 开发的,用低版本的 php 用作开发或者运行的环境,肯定是报错的;Ubuntu21 的环境,用 Ubuntu20 的镜像源来做环境,也是会包错的。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:35:20  更:2022-03-06 13:36:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:49:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码